Expression.Not Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bit düzeyinde tamamlama işlemini temsil eden bir UnaryExpression oluşturur.
Aşırı Yüklemeler
Not(Expression) |
Bit düzeyinde tamamlama işlemini temsil eden bir UnaryExpression oluşturur. |
Not(Expression, MethodInfo) |
Bit düzeyinde tamamlama işlemini temsil eden bir UnaryExpression oluşturur. Uygulayan yöntem belirtilebilir. |
Not(Expression)
- Kaynak:
- UnaryExpression.cs
- Kaynak:
- UnaryExpression.cs
- Kaynak:
- UnaryExpression.cs
Bit düzeyinde tamamlama işlemini temsil eden bir UnaryExpression oluşturur.
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
Parametreler
- expression
- Expression
Expression özelliğinin Operand değerine eşit olarak ayarlanması için.
Döndürülenler
UnaryExpression özelliğine NodeTypeNot eşit olan ve Operand özelliği belirtilen değere ayarlanmış bir.
Özel durumlar
expression
, null
değeridir.
birli not işleci için expression
tanımlanmamıştır. Türü.
Örnekler
Aşağıdaki örnekte, mantıksal NOT işlemini temsil eden bir ifadenin nasıl oluşturulacağı gösterilmektedir.
// 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
Açıklamalar
Sonuçta MethodUnaryExpression elde edilen özelliğini uygulayan yöntemine ayarlanır. Type özelliği düğümün türüne ayarlanır. Düğüm kaldırılırsa IsLifted ve IsLiftedToNull özellikleri her ikisi de true
olur. Aksi takdirde, bunlar şeklindedir false
.
Yöntem Uygulama
Aşağıdaki kurallar, işlem için uygulama yöntemini belirler:
ise
expression
. Tür, birli not işlecini tanımlayan kullanıcı tanımlı bir türdür, MethodInfo bu işleci temsil eden ise uygulayan yöntemdir.Aksi takdirde, ise
expression
. Tür sayısal veya Boole türünde, uygulayan yöntem ise şeklindedirnull
.
Düğüm Türü ve Yükseltilmiş ve Yükseltilmemiş Karşılaştırması
Uygulayan yöntem değilse null
:
ise
expression
. Tür, uygulayan yöntemin bağımsız değişken türüne atanabilir, düğüm kaldırılmaz. Düğümün türü, uygulayan yöntemin dönüş türüdür.Aşağıdaki iki koşul karşılanırsa düğüm kaldırılır ve düğümün türü, uygulayan yöntemin dönüş türüne karşılık gelen null atanabilir türdür:
expression
. Tür null atanabilir bir değer türüdür ve karşılık gelen null atanamaz tür, uygulayan yöntemin bağımsız değişken türüne eşittir.Uygulayan yöntemin dönüş türü null atanamayan bir değer türüdür.
Uygulayan yöntem ise null
düğümün türü olur expression
. Türü. ise expression
. Tür null atanamaz, düğüm kaldırılmaz. Aksi takdirde düğüm kaldırılır.
Şunlara uygulanır
Not(Expression, MethodInfo)
- Kaynak:
- UnaryExpression.cs
- Kaynak:
- UnaryExpression.cs
- Kaynak:
- UnaryExpression.cs
Bit düzeyinde tamamlama işlemini temsil eden bir UnaryExpression oluşturur. Uygulayan yöntem belirtilebilir.
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
Parametreler
- expression
- Expression
Expression özelliğinin Operand değerine eşit olarak ayarlanması için.
- method
- MethodInfo
Özelliğinin Method değerine eşit olarak ayarlanması için AMethodInfo.
Döndürülenler
UnaryExpression özelliğine NotNodeType eşit olan ve ve MethodOperand özellikleri belirtilen değerlere ayarlanmış bir.
Özel durumlar
expression
, null
değeridir.
method
değil null
ve temsil eden yöntem döndürüyor void
, değil static
(Shared
Visual Basic'te) veya tam olarak bir bağımsız değişken almaz.
method
is null
ve birli not işleci için expression
tanımlanmamıştır. Türü.
-veya-
expression
. türü (veya null atanabilir bir değer türüyse karşılık gelen null atanamaz türü) tarafından method
temsil edilen yöntemin bağımsız değişken türüne atanamaz.
Açıklamalar
Sonuçta MethodUnaryExpression elde edilen özelliğini uygulayan yöntemine ayarlanır. Type özelliği düğümün türüne ayarlanır. Düğüm kaldırılırsa IsLifted ve IsLiftedToNull özellikleri her ikisi de true
olur. Aksi takdirde, bunlar şeklindedir false
.
Yöntem Uygulama
Aşağıdaki kurallar, işlem için uygulama yöntemini belirler:
değilse
method
null
ve bağımsız değişkenlerden birini alan geçersizstatic
olmayan bir yöntemi (Shared
Visual Basic'te) temsil ederse, düğüm için uygulayan yöntemdir.ise
expression
. Tür, birli not işlecini tanımlayan kullanıcı tanımlı bir türdür, MethodInfo bu işleci temsil eden ise uygulayan yöntemdir.Aksi takdirde, ise
expression
. Tür sayısal bir tür, uygulayan yöntem ise şeklindedirnull
.
Düğüm Türü ve Yükseltilmiş ve Yükseltilmemiş Karşılaştırması
Uygulayan yöntem değilse null
:
ise
expression
. Tür, uygulayan yöntemin bağımsız değişken türüne atanabilir, düğüm kaldırılmaz. Düğümün türü, uygulayan yöntemin dönüş türüdür.Aşağıdaki iki koşul karşılanırsa düğüm kaldırılır ve düğümün türü, uygulayan yöntemin dönüş türüne karşılık gelen null atanabilir türdür:
expression
. Tür null atanabilir bir değer türüdür ve karşılık gelen null atanamaz değer türü, uygulayan yöntemin bağımsız değişken türüne eşittir.Uygulayan yöntemin dönüş türü null atanamayan bir değer türüdür.
Uygulayan yöntem ise null
düğümün türü olur expression
. Türü. ise expression
. Tür null atanamaz, düğüm kaldırılmaz. Aksi takdirde düğüm kaldırılır.