Expression.Negate Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Tworzy obiekt UnaryExpression reprezentujący operację negacji arytmetycznej.
Przeciążenia
| Negate(Expression, MethodInfo) |
Tworzy obiekt UnaryExpression reprezentujący operację negacji arytmetycznej. |
| Negate(Expression) |
Tworzy obiekt UnaryExpression reprezentujący operację negacji arytmetycznej. |
Negate(Expression, MethodInfo)
- Źródło:
- UnaryExpression.cs
- Źródło:
- UnaryExpression.cs
- Źródło:
- UnaryExpression.cs
Tworzy obiekt UnaryExpression reprezentujący operację negacji arytmetycznej.
public:
static System::Linq::Expressions::UnaryExpression ^ Negate(System::Linq::Expressions::Expression ^ expression, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.UnaryExpression Negate (System.Linq.Expressions.Expression expression, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.UnaryExpression Negate (System.Linq.Expressions.Expression expression, System.Reflection.MethodInfo? method);
static member Negate : System.Linq.Expressions.Expression * System.Reflection.MethodInfo -> System.Linq.Expressions.UnaryExpression
Public Shared Function Negate (expression As Expression, method As MethodInfo) As UnaryExpression
Parametry
- expression
- Expression
Element Expression do ustawiania Operand właściwości równej.
- method
- MethodInfo
A MethodInfo , aby ustawić właściwość równą Method .
Zwraca
Właściwość UnaryExpression , która ma właściwość równą NegateNodeType i Operand właściwości i Method ustawione na określone wartości.
Wyjątki
expression to null.
method nie null jest i metoda, która reprezentuje, zwraca voidwartość , nie static jest (Shared w Visual Basic) lub nie bierze dokładnie jednego argumentu.
method jest null i jednoargumentowy operator minus nie jest zdefiniowany dla . expression Typu.
-lub-
expression. Typ (lub odpowiadający mu typ bez wartości null, jeśli jest typem wartości dopuszczanej do wartości null) nie można przypisać do typu argumentu metody reprezentowanej przez method.
Uwagi
Właściwość Method wynikowej UnaryExpression jest ustawiona 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ą fałszywe.
Metoda implementująca
Następujące reguły określają metodę implementowania dla operacji:
Jeśli
methodnienulljest i reprezentuje niepustą metodęstatic(Sharedw Visual Basic), która przyjmuje jeden argument, jest to metoda implementowania węzła.Jeśli
expression. Typem jest typ zdefiniowany przez użytkownika, który definiuje jednoargumentowy operator minus, MethodInfo który reprezentuje ten operator jest metodą implementowania.W przeciwnym razie, jeśli
expression. Typ jest typem liczbowym, a metoda implementowania tonull.
Typ węzła oraz węzły podniesione i niepodniesione
Jeśli metoda implementowania nie nulljest :
Jeśli
expression. Typ można przypisać do typu argumentu metody implementowania, a 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:
expression. Typ jest typem wartości dopuszczanej do wartości null, a odpowiadający mu typ wartości niepustej jest równy typowi argumentu metody implementowania.Zwracany typ metody implementowania jest typem wartości innej niż null.
Jeśli metoda implementowania to null, typ węzła to expression. Typu. Jeśli expression. Typ nie może zawierać wartości null, a węzeł nie zostanie zniesiony. W przeciwnym razie węzeł zostanie zniesiony.
Dotyczy
Negate(Expression)
- Źródło:
- UnaryExpression.cs
- Źródło:
- UnaryExpression.cs
- Źródło:
- UnaryExpression.cs
Tworzy obiekt UnaryExpression reprezentujący operację negacji arytmetycznej.
public:
static System::Linq::Expressions::UnaryExpression ^ Negate(System::Linq::Expressions::Expression ^ expression);
public static System.Linq.Expressions.UnaryExpression Negate (System.Linq.Expressions.Expression expression);
static member Negate : System.Linq.Expressions.Expression -> System.Linq.Expressions.UnaryExpression
Public Shared Function Negate (expression As Expression) As UnaryExpression
Parametry
- expression
- Expression
Element Expression do ustawiania Operand właściwości równej.
Zwraca
WłaściwośćUnaryExpression, która ma właściwość równą NegateNodeType i Operand właściwość ustawioną na określoną wartość.
Wyjątki
expression to null.
Jednoargumentowy operator minus nie jest zdefiniowany dla elementu expression. Typu.
Przykłady
W poniższym przykładzie pokazano, jak utworzyć wyrażenie reprezentujące operację negacji arytmetycznej.
// Add the following directive to your file:
// using System.Linq.Expressions;
// This expression represents a negation operation.
Expression negateExpr = Expression.Negate(Expression.Constant(5));
// The following statement first creates an expression tree,
// then compiles it, and then runs it.
Console.WriteLine(Expression.Lambda<Func<int>>(negateExpr).Compile()());
// This code example produces the following output:
//
// -5
' Add the following directive to your file:
' Imports System.Linq.Expressions
' This expression represents a negation operation.
Dim negateExpr As Expression = Expression.Negate(Expression.Constant(5))
' The following statement first creates an expression tree,
' then compiles it, and then runs it.
Console.WriteLine(Expression.Lambda(Of Func(Of Integer))(negateExpr).Compile()())
' This code example produces the following output:
'
' -5
Uwagi
Właściwość Method wynikowej UnaryExpression jest ustawiona 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ą fałszywe.
Metoda implementująca
Następujące reguły określają metodę implementowania dla operacji:
Jeśli
expression. Typem jest typ zdefiniowany przez użytkownika, który definiuje jednoargumentowy operator minus, MethodInfo który reprezentuje ten operator jest metodą implementowania.W przeciwnym razie, jeśli
expression. Typ jest typem liczbowym, a metoda implementowania tonull.
Typ węzła oraz węzły podniesione i niepodniesione
Jeśli metoda implementowania nie nulljest :
Jeśli
expression. Typ można przypisać do typu argumentu metody implementowania, a 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:
expression. Typ jest typem wartości dopuszczanej do wartości null, a odpowiadający mu typ wartości niepustej jest równy typowi argumentu metody implementowania.Zwracany typ metody implementowania jest typem wartości innej niż null.
Jeśli metoda implementowania to null, typ węzła to expression. Typu. Jeśli expression. Typ nie może zawierać wartości null, a węzeł nie zostanie zniesiony. W przeciwnym razie węzeł zostanie zniesiony.