Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Expression.ConvertChecked-Methode: (Expression, Type, MethodInfo)

 

Veröffentlicht: Oktober 2016

Erstellt eine UnaryExpression, die eine Konvertierungsoperation darstellt, für die die implementierende Methode angegeben ist und die eine Ausnahme auslöst, wenn ein Überlauf im Zieltyp auftritt.

Namespace:   System.Linq.Expressions
Assembly:  System.Core (in System.Core.dll)

public static UnaryExpression ConvertChecked(
	Expression expression,
	Type type,
	MethodInfo method
)

Parameter

expression
Type: System.Linq.Expressions.Expression

Ein Expression, auf den die Operand-Eigenschaft festgelegt werden soll.

type
Type: System.Type

Ein Type, auf das die Type-Eigenschaft festgelegt werden soll.

method
Type: System.Reflection.MethodInfo

Ein MethodInfo, auf das die Method-Eigenschaft festgelegt werden soll.

Rückgabewert

Type: System.Linq.Expressions.UnaryExpression

Ein UnaryExpression, bei dem die NodeType-Eigenschaft gleich ConvertChecked ist und die Eigenschaften Operand, Type und Method auf die angegebenen Werte festgelegt sind.

Exception Condition
ArgumentNullException

expression oder type ist null.

ArgumentException

method ist nicht null und die Methode dar, gibt void, nicht static (Shared in Visual Basic), oder akzeptiert nicht genau ein Argument.

InvalidOperationException

Kein Konvertierungsoperator zwischen expression. Typ und type.

- oder -

expression. Type kann nicht dem Argumenttyp der durch dargestellten Methode zugeordnet werden method.

- oder -

Der Rückgabetyp der durch dargestellten Methode method kann nicht zugeordnet werden type.

- oder -

expression. Typ oder type ist ein Werttyp und den entsprechenden Werttyp null-entspricht nicht dem Argumenttyp bzw. dem Rückgabetyp, der durch dargestellten Methode method.

AmbiguousMatchException

Mehr als eine Methode, entspricht der method Beschreibung wurde gefunden.

Die Method -Eigenschaft der resultierenden UnaryExpression auf die implementierende Methode festgelegt ist. Die IsLiftedToNull-Eigenschaft ist false. Wenn der Knoten transformiert ist, IsLifted ist true. Andernfalls ist der Wert false.

Die folgenden Regeln bestimmen die implementierende Methode für den Vorgang.

  • Wenn nicht null, ist die implementierende Methode. Es muss eine nicht-Void darstellen static (Shared in Visual Basic) Methode, die ein Argument akzeptiert.

  • Wenn expression. Typ oder type ein benutzerdefinierten Typ, der einen implizite oder explizite Konvertierungsoperator definiert, ist die MethodInfo das darstellt, der Operator ist die implementierende Methode.

  • Andernfalls gilt:

    • Wenn beide expression. Typ und type darstellen, numerische oder boolesche Typen bzw. NULL-Werte zulässt oder NULL-Enumeration, die die implementierende Methode null.

    • Wenn einer der beiden expression. Typ oder type ist ein Verweistyp und ein explizites Boxing, unboxing oder verweiskonvertierung vorhanden ist, von expression. Geben Sie auf type, die implementierende Methode null.

Die implementierende Methode ist nicht null:

  • Wenn expression. Type kann dem Argumenttyp der implementierenden Methode zugeordnet werden, und der Rückgabetyp der implementierenden Methode zugeordnet ist type, der Knoten nicht transformiert.

  • Wenn eine oder beide der expression. Typ oder type werden NULL-Werte zulassen und die entsprechenden nicht auf NULL festlegbare Werttypen bzw. der Argumenttyp und der Rückgabetyp der implementierenden Methode gleich sind, der Knoten transformiert.

Wenn die implementierende Methode null:

  • Wenn beide expression. Typ und type sind NULL-Werte zulässt, der Knoten nicht transformiert.

  • Andernfalls ist der Knoten transformiert.

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 3.5
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen: