Expression.ConvertChecked Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erstellt eine UnaryExpression, die eine Konvertierungsoperation darstellt, die eine Ausnahme auslöst, wenn ein Überlauf im Zieltyp auftritt.
Überlädt
ConvertChecked(Expression, Type) |
Erstellt eine UnaryExpression, die eine Konvertierungsoperation darstellt, die eine Ausnahme auslöst, wenn ein Überlauf im Zieltyp auftritt. |
ConvertChecked(Expression, Type, MethodInfo) |
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. |
ConvertChecked(Expression, Type)
Erstellt eine UnaryExpression, die eine Konvertierungsoperation darstellt, die eine Ausnahme auslöst, wenn ein Überlauf im Zieltyp auftritt.
public:
static System::Linq::Expressions::UnaryExpression ^ ConvertChecked(System::Linq::Expressions::Expression ^ expression, Type ^ type);
public static System.Linq.Expressions.UnaryExpression ConvertChecked (System.Linq.Expressions.Expression expression, Type type);
static member ConvertChecked : System.Linq.Expressions.Expression * Type -> System.Linq.Expressions.UnaryExpression
Public Shared Function ConvertChecked (expression As Expression, type As Type) As UnaryExpression
Parameter
- expression
- Expression
Ein Expression, auf den die Operand-Eigenschaft festgelegt werden soll.
Gibt zurück
Ein UnaryExpression, bei dem die NodeType-Eigenschaft gleich ConvertChecked ist und die Operand-Eigenschaft sowie die Type-Eigenschaft auf die angegebenen Werte festgelegt sind.
Ausnahmen
expression
oder type
ist null
.
Zwischen expression
.Type und type
ist kein Konvertierungsoperator definiert.
Hinweise
Die Method Eigenschaft der resultierenden UnaryExpression Eigenschaft wird auf die Implementierungsmethode festgelegt. Die IsLiftedToNull-Eigenschaft ist false
. Wenn der Knoten aufgehoben wird, IsLifted ist true
. Andernfalls lautet der Wert false
.
Implementierungsmethode
Die folgenden Regeln bestimmen die Implementierungsmethode für den Vorgang:
Wenn entweder
expression
. Typ odertype
ist ein benutzerdefinierter Typ, der einen impliziten oder expliziten Konvertierungsoperator definiert, der MethodInfo diesen Operator darstellt, ist die Implementierungsmethode.Andernfalls:
Wenn beides
expression
vorhanden ist.type
Geben Sie numerische oder boolesche Typen oder nullable oder nicht nullable Enumerationstypen ein, die Implementierungsmethode istnull
.Wenn entweder
expression
. Typ odertype
ist ein Verweistyp und eine explizite Boxing-, Unboxing- oder Referenzkonvertierung vorhanden.expression
Typ zutype
, die Implementierungsmethode istnull
.
Aufgehoben im Vergleich zu nicht aufgehobenen Nicht-Liften
Wenn die Implementierungsmethode nicht null
:
Wenn
expression
. Der Typ ist dem Argumenttyp der Implementierungsmethode zuzuweisen und der Rückgabetyp der Implementierungsmethode ist zuzuweisentype
, der Knoten wird nicht aufgehoben.Wenn entweder oder beides von
expression
. Geben Sie einen Nullwerttyp ein,type
und die entsprechenden nicht nullablen Werttypen entsprechen dem Argumenttyp und dem Rückgabetyp der Implementierungsmethode bzw. dem Knoten wird aufgehoben.
Wenn die Implementierungsmethode null
:
Wenn beides
expression
vorhanden ist. Typ undtype
nicht nullierbar, der Knoten wird nicht aufgehoben.Andernfalls wird der Knoten aufgehoben.
Gilt für
ConvertChecked(Expression, Type, MethodInfo)
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.
public:
static System::Linq::Expressions::UnaryExpression ^ ConvertChecked(System::Linq::Expressions::Expression ^ expression, Type ^ type, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.UnaryExpression ConvertChecked (System.Linq.Expressions.Expression expression, Type type, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.UnaryExpression ConvertChecked (System.Linq.Expressions.Expression expression, Type type, System.Reflection.MethodInfo? method);
static member ConvertChecked : System.Linq.Expressions.Expression * Type * System.Reflection.MethodInfo -> System.Linq.Expressions.UnaryExpression
Public Shared Function ConvertChecked (expression As Expression, type As Type, method As MethodInfo) As UnaryExpression
Parameter
- expression
- Expression
Ein Expression, auf den die Operand-Eigenschaft festgelegt werden soll.
- method
- MethodInfo
Ein MethodInfo, auf das die Method-Eigenschaft festgelegt werden soll.
Gibt zurück
Ein UnaryExpression, bei dem die NodeType-Eigenschaft gleich ConvertChecked ist und die Eigenschaften Operand, Type und Method auf die angegebenen Werte festgelegt sind.
Ausnahmen
expression
oder type
ist null
.
method
ist nicht null
, und die dadurch dargestellte Methode gibt void
zurück, ist nicht static
(Shared
in Visual Basic) oder akzeptiert nicht genau ein Argument.
Zwischen expression
.Type und type
ist kein Konvertierungsoperator definiert.
- oder -
expression
.Type kann dem Argumenttyp der durch method
dargestellten Methode nicht zugeordnet werden.
- oder -
Der Rückgabetyp der Methode, die durch method
dargestellt wird, kann type
nicht zugeordnet werden.
- oder -
expression
.Type oder type
ist ein Werttyp, der NULL-Werte zulässt, und der entsprechende Werttyp, der keine NULL-Werte zulässt, entspricht nicht dem Argumenttyp bzw. dem Rückgabetyp der durch method
dargestellten Methode.
Es wurde mehr als eine Methode gefunden, die mit der method
-Beschreibung übereinstimmt.
Hinweise
Die Method Eigenschaft der resultierenden UnaryExpression Eigenschaft wird auf die Implementierungsmethode festgelegt. Die IsLiftedToNull-Eigenschaft ist false
. Wenn der Knoten aufgehoben wird, IsLifted ist true
. Andernfalls lautet der Wert false
.
Implementierungsmethode
Die folgenden Regeln bestimmen die Implementierungsmethode für den Vorgang:
Wenn die Methode nicht
null
ist, handelt es sich um die Implementierungsmethode. Es muss eine nicht ungültige, (Shared
in Visual Basic) Methode darstellen,static
die ein Argument verwendet.Andernfalls, wenn entweder
expression
. Typ odertype
ist ein benutzerdefinierter Typ, der einen impliziten oder expliziten Konvertierungsoperator definiert, der MethodInfo diesen Operator darstellt, ist die Implementierungsmethode.Andernfalls:
Wenn beides
expression
vorhanden ist.type
Geben Sie numerische oder boolesche Typen oder nullable oder nicht nullable Enumerationstypen ein, die Implementierungsmethode istnull
.Wenn entweder
expression
. Typ odertype
ist ein Verweistyp und eine explizite Boxing-, Unboxing- oder Referenzkonvertierung vorhanden.expression
Typ zutype
, die Implementierungsmethode istnull
.
Aufgehoben im Vergleich zu nicht aufgehobenen Nicht-Liften
Wenn die Implementierungsmethode nicht null
:
Wenn
expression
. Der Typ ist dem Argumenttyp der Implementierungsmethode zuzuweisen und der Rückgabetyp der Implementierungsmethode ist zuzuweisentype
, der Knoten wird nicht aufgehoben.Wenn entweder oder beides von
expression
. Geben Sie einen Nullwerttyp ein,type
und die entsprechenden nicht nullablen Werttypen entsprechen dem Argumenttyp und dem Rückgabetyp der Implementierungsmethode bzw. dem Knoten wird aufgehoben.
Wenn die Implementierungsmethode null
:
Wenn beides
expression
vorhanden ist. Typ undtype
nicht nullierbar, der Knoten wird nicht aufgehoben.Andernfalls wird der Knoten aufgehoben.