Expression.Not 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 element reprezentujący operację UnaryExpression bitowego uzupełniania.
Przeciążenia
| Nazwa | Opis |
|---|---|
| Not(Expression) |
Tworzy element reprezentujący operację UnaryExpression bitowego uzupełniania. |
| Not(Expression, MethodInfo) |
Tworzy element reprezentujący operację UnaryExpression bitowego uzupełniania. Można określić metodę implementowania. |
Not(Expression)
- Źródło:
- UnaryExpression.cs
- Źródło:
- UnaryExpression.cs
- Źródło:
- UnaryExpression.cs
- Źródło:
- UnaryExpression.cs
- Źródło:
- UnaryExpression.cs
Tworzy element reprezentujący operację UnaryExpression bitowego uzupełniania.
public:
static System::Linq::Expressions::UnaryExpression ^ Not(System::Linq::Expressions::Expression ^ expression);
public static System.Linq.Expressions.UnaryExpression Not(System.Linq.Expressions.Expression expression);
static member Not : System.Linq.Expressions.Expression -> System.Linq.Expressions.UnaryExpression
Public Shared Function Not (expression As Expression) As UnaryExpression
Parametry
- expression
- Expression
Wartość , Expression aby ustawić właściwość równą Operand .
Zwraca
WłaściwośćUnaryExpression, która ma właściwość równą NotNodeType i Operand właściwość ustawioną na określoną wartość.
Wyjątki
Parametr expression ma wartość null.
Jednoargumentowy operator notary nie jest zdefiniowany dla elementu expression. Typu.
Przykłady
W poniższym przykładzie pokazano, jak utworzyć wyrażenie reprezentujące logiczną operację NOT.
// Add the following directive to your file:
// using System.Linq.Expressions;
// This expression represents a NOT operation.
Expression notExpr = Expression.Not(Expression.Constant(true));
Console.WriteLine(notExpr);
// The following statement first creates an expression tree,
// then compiles it, and then runs it.
Console.WriteLine(Expression.Lambda<Func<bool>>(notExpr).Compile()());
// This code example produces the following output:
//
// Not(True)
// False
' Add the following directive to your file:
' Imports System.Linq.Expressions
' This expression represents a NOT operation.
Dim notExpr As Expression = Expression.Not(Expression.Constant(True))
Console.WriteLine(notExpr)
' The following statement first creates an expression tree,
' then compiles it, and then runs it.
Console.WriteLine(Expression.Lambda(Of Func(Of Boolean))(notExpr).Compile()())
' This code example produces the following output:
'
' Not(True)
' False
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 podniesiony, zarówno właściwość IsLifted, jak i właściwość IsLiftedToNull są true. W przeciwnym razie są to false.
Implementowanie metody
Następujące reguły określają metodę implementowania dla operacji:
Jeśli
expression. Type to typ zdefiniowany przez użytkownika, który definiuje operator notary jednoargumentowy, MethodInfo który reprezentuje ten operator jest metodą implementowania.W przeciwnym razie, jeśli
expression. Typ jest typem liczbowym lub logicznym, a metoda implementowania tonull.
Typ węzła i podniesiony a nieznoszony
Jeśli metoda implementacji nie jest null:
Jeśli
expression. Typ można przypisać do typu argumentu metody implementowania, a węzeł nie zostanie zniesiony. Typ węzła to zwracany typ metody implementowania.Jeśli spełnione są następujące dwa warunki, węzeł zostanie zniesiony, a typ węzła jest typem dopuszczalnym wartości null odpowiadającym zwracanym typowi metody implementowania:
expression. Typ jest typem wartości dopuszczanej do wartości null, a odpowiadający mu typ niezwiązany z wartością null jest równy typowi argumentu metody implementowania.Typ zwracany przez metodę implementacji jest niemającym wartości null typem wartościowym.
Jeśli metoda implementowania to null, typ węzła to expression. Typu. Jeśli expression. Typ jest niepusty, węzeł nie jest podnosiny. W przeciwnym razie węzeł zostanie zniesiony.
Dotyczy
Not(Expression, MethodInfo)
- Źródło:
- UnaryExpression.cs
- Źródło:
- UnaryExpression.cs
- Źródło:
- UnaryExpression.cs
- Źródło:
- UnaryExpression.cs
- Źródło:
- UnaryExpression.cs
Tworzy element reprezentujący operację UnaryExpression bitowego uzupełniania. Można określić metodę implementowania.
public:
static System::Linq::Expressions::UnaryExpression ^ Not(System::Linq::Expressions::Expression ^ expression, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.UnaryExpression Not(System.Linq.Expressions.Expression expression, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.UnaryExpression Not(System.Linq.Expressions.Expression expression, System.Reflection.MethodInfo? method);
static member Not : System.Linq.Expressions.Expression * System.Reflection.MethodInfo -> System.Linq.Expressions.UnaryExpression
Public Shared Function Not (expression As Expression, method As MethodInfo) As UnaryExpression
Parametry
- expression
- Expression
Wartość , Expression aby ustawić właściwość równą Operand .
- 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ą NotNodeType i Operand właściwości i Method ustawioną na określone wartości.
Wyjątki
Parametr expression 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 jednego argumentu.
method jest null i jednoargumentowy operator notary nie jest zdefiniowany dla expression. Typu.
— lub —
expression. Typ (lub odpowiadający mu typ niezwiązany z wartością null, jeśli jest to typ wartości dopuszczanej do wartości null) nie można przypisać do typu argumentu metody reprezentowanej przez methodelement .
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 podniesiony, zarówno właściwość IsLifted, jak i właściwość IsLiftedToNull są true. W przeciwnym razie są to false.
Implementowanie metody
Następujące reguły określają metodę implementowania dla operacji:
Jeśli
methodnienulljest i reprezentuje metodę niepustą (staticSharedw Visual Basic), która przyjmuje jeden argument, jest to metoda implementowania węzła.Jeśli
expression. Type to typ zdefiniowany przez użytkownika, który definiuje operator notary jednoargumentowy, MethodInfo który reprezentuje ten operator jest metodą implementowania.W przeciwnym razie, jeśli
expression. Typem jest typ liczbowy, a metoda implementowania tonull.
Typ węzła i podniesiony a nieznoszony
Jeśli metoda implementacji nie jest null:
Jeśli
expression. Typ można przypisać do typu argumentu metody implementowania, a węzeł nie zostanie zniesiony. Typ węzła to zwracany typ metody implementowania.Jeśli spełnione są następujące dwa warunki, węzeł zostanie zniesiony, a typ węzła jest typem dopuszczalnym wartości null odpowiadającym zwracanym typowi metody implementowania:
expression. Typ jest typem wartości dopuszczanej do wartości null, a odpowiadający mu typ wartości innej niż null jest równy typowi argumentu metody implementowania.Typ zwracany przez metodę implementacji jest niemającym wartości null typem wartościowym.
Jeśli metoda implementowania to null, typ węzła to expression. Typu. Jeśli expression. Typ jest niepusty, węzeł nie jest podnosiny. W przeciwnym razie węzeł zostanie zniesiony.