Expression.SubtractChecked Methode

Definition

Erstellt eine BinaryExpression, die eine arithmetische Subtraktion mit Überlaufprüfung darstellt.

Überlädt

SubtractChecked(Expression, Expression, MethodInfo)

Erstellt eine BinaryExpression, die eine arithmetische Subtraktion mit Überlaufprüfung darstellt.

SubtractChecked(Expression, Expression)

Erstellt eine BinaryExpression, die eine arithmetische Subtraktion mit Überlaufprüfung darstellt.

SubtractChecked(Expression, Expression, MethodInfo)

Erstellt eine BinaryExpression, die eine arithmetische Subtraktion mit Überlaufprüfung darstellt.

public:
 static System::Linq::Expressions::BinaryExpression ^ SubtractChecked(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.BinaryExpression SubtractChecked (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.BinaryExpression SubtractChecked (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo? method);
static member SubtractChecked : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * System.Reflection.MethodInfo -> System.Linq.Expressions.BinaryExpression
Public Shared Function SubtractChecked (left As Expression, right As Expression, method As MethodInfo) As BinaryExpression

Parameter

left
Expression

Ein Expression, auf das die Left-Eigenschaft festgelegt werden soll.

right
Expression

Ein Expression, auf das die Right-Eigenschaft festgelegt werden soll.

method
MethodInfo

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

Gibt zurück

BinaryExpression

Ein BinaryExpression, bei dem die NodeType-Eigenschaft gleich SubtractChecked ist und die Eigenschaften Left, Right und Method auf die angegebenen Werte festgelegt sind.

Ausnahmen

left oder right ist null.

method ist nicht null, und die dargestellte Methode gibt void zurück, ist nicht static (Shared in Visual Basic) oder akzeptiert nicht genau zwei Argumente.

method ist null, und der Subtraktionsoperator ist für left.Type und right.Type nicht definiert.

Hinweise

Die resultierende BinaryExpression Eigenschaft ist auf die Method Implementierungsmethode festgelegt. Die Type Eigenschaft wird auf den Typ des Knotens festgelegt. Wenn der Knoten aufgehoben wird, sind truebeide IsLifted IsLiftedToNull Eigenschaften vorhanden. Andernfalls sind falsesie . Die Conversion-Eigenschaft ist null.

Die folgenden Informationen beschreiben die Implementierungsmethode, den Knotentyp und ob ein Knoten aufgehoben wird.

Implementierungsmethode

Die folgenden Regeln bestimmen die Implementierungsmethode für den Vorgang:

  • Wenn method dies nicht null der Grund ist und eine nicht ungültige Methode (Sharedin Visual Basic) darstellt, static die zwei Argumente verwendet, ist es die Implementierungsmethode für den Knoten.

  • Andernfalls, wenn die Eigenschaft eines right left oder eines benutzerdefinierten Typs darstellt, der Type den Subtraktionsoperator überlastet, ist dies MethodInfo die Implementierungsmethode.

  • Andernfalls, wenn left. Typ und right. Typ sind numerische Typen, die Implementierungsmethode ist null.

Knotentyp und Aufgehoben im Vergleich zu nicht aufgehobenen Knotentypen

Wenn die Implementierungsmethode nicht nulllautet:

  • Wenn left. Typ und right. Der Typ kann den entsprechenden Argumenttypen der Implementierungsmethode zugewiesen werden, der Knoten wird nicht aufgehoben. Der Typ des Knotens ist der Rückgabetyp der Implementierungsmethode.

  • Wenn die folgenden beiden Bedingungen erfüllt sind, wird der Knoten aufgehoben, und der Typ des Knotens ist der nullfähige Typ, der dem Rückgabetyp der Implementierungsmethode entspricht:

    • left. Typ und right. Typ sind beide Werttypen, von denen mindestens ein Nullwert zulässig ist, und die entsprechenden nicht nullierbaren Typen entsprechen den entsprechenden Argumenttypen der Implementierungsmethode.

    • Der Rückgabetyp der Implementierungsmethode ist ein nicht nullbarer Werttyp.

Wenn die Implementierungsmethode lautet null:

  • Wenn left. Typ und right. Der Typ ist nicht nullfähig, der Knoten wird nicht aufgehoben. Der Typ des Knotens ist der Ergebnistyp des vordefinierten Subtraktionsoperators.

  • Wenn left. Typ und right. Der Typ ist beide nullfähig, der Knoten wird aufgehoben. Der Typ des Knotens ist der nullfähige Typ, der dem Ergebnistyp des vordefinierten Subtraktionsoperators entspricht.

Gilt für

SubtractChecked(Expression, Expression)

Erstellt eine BinaryExpression, die eine arithmetische Subtraktion mit Überlaufprüfung darstellt.

public:
 static System::Linq::Expressions::BinaryExpression ^ SubtractChecked(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right);
public static System.Linq.Expressions.BinaryExpression SubtractChecked (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right);
static member SubtractChecked : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.BinaryExpression
Public Shared Function SubtractChecked (left As Expression, right As Expression) As BinaryExpression

Parameter

left
Expression

Ein Expression, auf das die Left-Eigenschaft festgelegt werden soll.

right
Expression

Ein Expression, auf das die Right-Eigenschaft festgelegt werden soll.

Gibt zurück

BinaryExpression

Ein BinaryExpression, bei dem die NodeType-Eigenschaft gleich SubtractChecked ist und die Left-Eigenschaft sowie die Right-Eigenschaft auf die angegebenen Werte festgelegt sind.

Ausnahmen

left oder right ist null.

Der Subtraktionsoperator ist für left.Type und right.Type nicht definiert.

Hinweise

Die resultierende BinaryExpression Eigenschaft ist auf die Method Implementierungsmethode festgelegt. Die Type Eigenschaft wird auf den Typ des Knotens festgelegt. Wenn der Knoten aufgehoben wird, sind truebeide IsLifted IsLiftedToNull Eigenschaften vorhanden. Andernfalls sind falsesie . Die Conversion-Eigenschaft ist null.

Die folgenden Informationen beschreiben die Implementierungsmethode, den Knotentyp und ob ein Knoten aufgehoben wird.

Implementierungsmethode

Die folgenden Regeln bestimmen die ausgewählte Implementierungsmethode für den Vorgang:

  • Wenn die Eigenschaft eines left right oder eines benutzerdefinierten Typs darstellt, der Type den Subtraktionsoperator überlastet, ist diese MethodInfo Methode die Implementierungsmethode.

  • Andernfalls, wenn left. Typ und right. Typ sind numerische Typen, die Implementierungsmethode ist null.

Knotentyp und Aufgehoben im Vergleich zu nicht aufgehobenen Knotentypen

Wenn die Implementierungsmethode nicht nulllautet:

  • Wenn left. Typ und right. Der Typ kann den entsprechenden Argumenttypen der Implementierungsmethode zugewiesen werden, der Knoten wird nicht aufgehoben. Der Typ des Knotens ist der Rückgabetyp der Implementierungsmethode.

  • Wenn die folgenden beiden Bedingungen erfüllt sind, wird der Knoten aufgehoben, und der Typ des Knotens ist der nullfähige Typ, der dem Rückgabetyp der Implementierungsmethode entspricht:

    • left. Typ und right. Typ sind beide Werttypen, von denen mindestens ein Nullwert zulässig ist, und die entsprechenden nicht nullierbaren Typen entsprechen den entsprechenden Argumenttypen der Implementierungsmethode.

    • Der Rückgabetyp der Implementierungsmethode ist ein nicht nullbarer Werttyp.

Wenn die Implementierungsmethode lautet null:

  • Wenn left. Typ und right. Der Typ ist nicht nullfähig, der Knoten wird nicht aufgehoben. Der Typ des Knotens ist der Ergebnistyp des vordefinierten Subtraktionsoperators.

  • Wenn left. Typ und right. Der Typ ist beide nullfähig, der Knoten wird aufgehoben. Der Typ des Knotens ist der nullfähige Typ, der dem Ergebnistyp des vordefinierten Subtraktionsoperators entspricht.

Gilt für