Expression.Subtract Metoda

Definicja

Tworzy obiekt BinaryExpression , który reprezentuje operację odejmowania arytmetycznego, która nie ma sprawdzania przepełnienia.

Przeciążenia

Subtract(Expression, Expression)

Tworzy obiekt BinaryExpression , który reprezentuje operację odejmowania arytmetycznego, która nie ma sprawdzania przepełnienia.

Subtract(Expression, Expression, MethodInfo)

Tworzy obiekt BinaryExpression , który reprezentuje operację odejmowania arytmetycznego, która nie ma sprawdzania przepełnienia.

Subtract(Expression, Expression)

Źródło:
BinaryExpression.cs
Źródło:
BinaryExpression.cs
Źródło:
BinaryExpression.cs

Tworzy obiekt BinaryExpression , który reprezentuje operację odejmowania arytmetycznego, która nie ma sprawdzania przepełnienia.

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

Parametry

left
Expression

Element Expression do ustawiania Left właściwości równej.

right
Expression

A Expression , aby ustawić właściwość równą Right .

Zwraca

Właściwość BinaryExpression , która ma właściwość równą SubtractNodeType i Left właściwości i Right ustawione na określone wartości.

Wyjątki

left lub right ma wartość null.

Operator odejmowania nie jest zdefiniowany dla elementu left. Wpisz i right. Typu.

Przykłady

Poniższy przykład kodu pokazuje, jak utworzyć wyrażenie, które odejmuje argument od pierwszego argumentu.

// Add the following directive to your file:
// using System.Linq.Expressions;

// This expression subtracts the second argument
// from the first argument.
// Both arguments must be of the same type.
Expression subtractExpr = Expression.Subtract(
    Expression.Constant(12),
    Expression.Constant(3)
);

// Print out the expression.
Console.WriteLine(subtractExpr.ToString());

// The following statement first creates an expression tree,
// then compiles it, and then executes it.
Console.WriteLine(Expression.Lambda<Func<int>>(subtractExpr).Compile().Invoke());

// This code example produces the following output:
//
// (12 - 3)
// 9
' Add the following directive to your file:
' Imports System.Linq.Expressions  

' This expression subtracts the second argument 
' from the first argument.
' Both arguments must be of the same type.
Dim subtractExpr As Expression = Expression.Subtract(
     Expression.Constant(12),
     Expression.Constant(3)
 )

' Print the expression.
Console.WriteLine(subtractExpr.ToString())

' The following statement first creates an expression tree,
' then compiles it, and then executes it.            
Console.WriteLine(Expression.Lambda(Of Func(Of Integer))(subtractExpr).Compile()())

' This code example produces the following output:
'
' (12 - 3)
' 9

Uwagi

BinaryExpression Wynikowy Method obiekt ma właściwość ustawioną na metodę implementowania. Właściwość Type jest ustawiona na typ węzła. Jeśli węzeł zostanie zniesiony, IsLifted właściwości i IsLiftedToNull to true. W przeciwnym razie są to false. Właściwość Conversion to null.

Poniższe informacje opisują metodę implementowania, typ węzła i informację o tym, czy węzeł został zniesiony.

Metoda implementująca

Następujące reguły określają wybraną metodę implementowania dla operacji:

  • Type Jeśli właściwość left lub right reprezentuje typ zdefiniowany przez użytkownika, który przeciąża operator odejmowania, oznacza to, MethodInfo że metoda jest metodą implementowania.

  • W przeciwnym razie, jeśli left. Wpisz i right. Typ to typy liczbowe. Metoda implementowania to null.

Typ węzła oraz węzły podniesione i niepodniesione

Jeśli metoda implementowania nie nulljest :

  • Jeśli left. Wpisz i right. Typ można przypisać do odpowiednich typów argumentów metody implementowania. Węzeł nie zostanie zniesiony. Typem węzła jest zwracany typ metody implementowania.

  • Jeśli zostaną spełnione następujące dwa warunki, węzeł zostanie zniesiony, a typ węzła jest typem dopuszczalnym do wartości null, który odpowiada zwracanemu typowi metody implementowania:

    • left. Wpisz i right. Typ to oba typy wartości, których co najmniej jeden jest dopuszczany do wartości null, a odpowiadające im typy niepuste są równe odpowiadającym typom argumentów metody implementowania.

    • Zwracany typ metody implementowania jest typem wartości innej niż null.

Jeśli metoda implementowania to null:

  • Jeśli left. Wpisz i right. Typ jest niepusty, a węzeł nie zostanie zniesiony. Typ węzła jest typem wyniku wstępnie zdefiniowanego operatora odejmowania.

  • Jeśli left. Wpisz i right. Typ jest dopuszczany do wartości null. Węzeł zostanie zniesiony. Typ węzła to typ dopuszczający wartość null, który odpowiada typowi wyniku wstępnie zdefiniowanego operatora odejmowania.

Dotyczy

Subtract(Expression, Expression, MethodInfo)

Źródło:
BinaryExpression.cs
Źródło:
BinaryExpression.cs
Źródło:
BinaryExpression.cs

Tworzy obiekt BinaryExpression , który reprezentuje operację odejmowania arytmetycznego, która nie ma sprawdzania przepełnienia.

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

Parametry

left
Expression

A Expression , aby ustawić właściwość równą Left .

right
Expression

A Expression , aby ustawić właściwość równą Right .

method
MethodInfo

A MethodInfo , aby ustawić właściwość równą Method .

Zwraca

Właściwość BinaryExpression , która ma właściwość równą SubtractNodeType i Left, Righti właściwości Method ustawione na określone wartości.

Wyjątki

left lub right ma wartość null.

method nie null jest i metoda, która reprezentuje, zwraca voidwartość , nie static jest (Shared w Visual Basic) lub nie bierze dokładnie dwóch argumentów.

method to null i operator odejmowania nie jest zdefiniowany dla elementu left. Wpisz i right. Typu.

Uwagi

BinaryExpression Wynikowy Method obiekt ma właściwość ustawioną na metodę implementowania. Właściwość Type jest ustawiona na typ węzła. Jeśli węzeł zostanie zniesiony, IsLifted właściwości i IsLiftedToNull to true. W przeciwnym razie są to false. Właściwość Conversion to null.

Poniższe informacje opisują metodę implementowania, typ węzła i informację o tym, czy węzeł został zniesiony.

Metoda implementująca

Następujące reguły określają metodę implementowania dla operacji:

  • Jeśli method nie null jest i reprezentuje metodę niepustą ( staticShared w Visual Basic), która przyjmuje dwa argumenty, jest to metoda implementowania węzła.

  • W przeciwnym razie, jeśli Type właściwość left lub right reprezentuje typ zdefiniowany przez użytkownika, który przeciąża operator odejmowania, oznacza to, MethodInfo że metoda jest metodą implementowania.

  • W przeciwnym razie, jeśli left. Wpisz i right. Typ to typy liczbowe. Metoda implementowania to null.

Typ węzła oraz węzły podniesione i niepodniesione

Jeśli metoda implementowania nie nulljest :

  • Jeśli left. Wpisz i right. Typ można przypisać do odpowiednich typów argumentów metody implementowania. Węzeł nie zostanie zniesiony. Typem węzła jest zwracany typ metody implementowania.

  • Jeśli zostaną spełnione następujące dwa warunki, węzeł zostanie zniesiony, a typ węzła jest typem dopuszczalnym do wartości null, który odpowiada zwracanemu typowi metody implementowania:

    • left. Wpisz i right. Typ to oba typy wartości, których co najmniej jeden jest dopuszczany do wartości null, a odpowiadające im typy niepuste są równe odpowiadającym typom argumentów metody implementowania.

    • Zwracany typ metody implementowania jest typem wartości innej niż null.

Jeśli metoda implementowania to null:

  • Jeśli left. Wpisz i right. Typ jest niepusty, a węzeł nie zostanie zniesiony. Typ węzła jest typem wyniku wstępnie zdefiniowanego operatora odejmowania.

  • Jeśli left. Wpisz i right. Typ jest dopuszczany do wartości null. Węzeł zostanie zniesiony. Typ węzła to typ dopuszczający wartość null, który odpowiada typowi wyniku wstępnie zdefiniowanego operatora odejmowania.

Dotyczy