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 void
wartość , 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
method
nienull
jest i reprezentuje niepustą metodęstatic
(Shared
w 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 null
jest :
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 null
jest :
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.