Bagikan melalui


Expression.Not Metode

Definisi

Membuat yang UnaryExpression mewakili operasi pelengkap bitwise.

Overload

Not(Expression)

Membuat yang UnaryExpression mewakili operasi pelengkap bitwise.

Not(Expression, MethodInfo)

Membuat yang UnaryExpression mewakili operasi pelengkap bitwise. Metode penerapan dapat ditentukan.

Not(Expression)

Sumber:
UnaryExpression.cs
Sumber:
UnaryExpression.cs
Sumber:
UnaryExpression.cs

Membuat yang UnaryExpression mewakili operasi pelengkap bitwise.

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

Parameter

expression
Expression

Untuk Expression mengatur properti sama Operand dengan.

Mengembalikan

UnaryExpression properti yang memiliki NodeType properti sama dengan Not dan Operand properti diatur ke nilai yang ditentukan.

Pengecualian

expressionadalah null.

Operator unary not tidak didefinisikan untuk expression. Jenis.

Contoh

Contoh berikut menunjukkan cara membuat ekspresi yang mewakili operasi NOT logis.

// 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

Keterangan

Method Properti dari hasil UnaryExpression diatur ke metode penerapan. Properti Type diatur ke jenis simpul. Jika simpul diangkat, IsLifted properti dan IsLiftedToNull keduanya trueadalah . Jika tidak, mereka adalah false.

Metode Penerapan

Aturan berikut menentukan metode penerapan untuk operasi:

  • Jika expression. Jenis adalah jenis yang ditentukan pengguna yang mendefinisikan operator unary not, MethodInfo yang mewakili operator tersebut adalah metode penerapan.

  • Jika tidak, jika expression. Jenis adalah jenis numerik atau Boolean, metode penerapannya adalah null.

Jenis Node dan Diangkat versus Non-Lifted

Jika metode penerapan bukan null:

  • Jika expression. Jenis dapat ditetapkan ke jenis argumen dari metode penerapan, simpul tidak diangkat. Jenis simpul adalah jenis pengembalian dari metode penerapan.

  • Jika dua kondisi berikut terpenuhi, simpul diangkat dan jenis simpul adalah jenis yang dapat diubah ke null yang sesuai dengan jenis pengembalian metode penerapan:

    • expression. Jenis adalah jenis nilai yang dapat diubah ke null dan jenis yang tidak dapat diubah ke null yang sesuai sama dengan jenis argumen metode penerapan.

    • Jenis pengembalian metode penerapan adalah jenis nilai yang tidak dapat diubah ke null.

Jika metode penerapan adalah null, jenis node adalah expression. Jenis. Jika expression. Jenis tidak dapat diubah ke null, simpul tidak diangkat. Jika tidak, simpul diangkat.

Berlaku untuk

Not(Expression, MethodInfo)

Sumber:
UnaryExpression.cs
Sumber:
UnaryExpression.cs
Sumber:
UnaryExpression.cs

Membuat yang UnaryExpression mewakili operasi pelengkap bitwise. Metode penerapan dapat ditentukan.

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

Parameter

expression
Expression

Untuk Expression mengatur properti sama Operand dengan.

method
MethodInfo

A MethodInfo untuk mengatur Method properti sama dengan.

Mengembalikan

UnaryExpression yang memiliki NodeType properti yang sama dengan Not dan Operand properti dan Method diatur ke nilai yang ditentukan.

Pengecualian

expressionadalah null.

method bukan null dan metode yang diwakilinya mengembalikan void, bukan static (Shared dalam Visual Basic), atau tidak mengambil tepat satu argumen.

method adalah null dan operator unary not tidak didefinisikan untuk expression. Jenis.

-atau-

expression. Jenis (atau jenis yang tidak dapat diubah ke null yang sesuai jika merupakan tipe nilai yang dapat diubah ke null) tidak dapat ditetapkan ke jenis argumen metode yang diwakili oleh method.

Keterangan

Method Properti dari hasil UnaryExpression diatur ke metode penerapan. Properti Type diatur ke jenis simpul. Jika simpul diangkat, IsLifted properti dan IsLiftedToNull keduanya trueadalah . Jika tidak, mereka adalah false.

Metode Penerapan

Aturan berikut menentukan metode penerapan untuk operasi:

  • Jika method tidak null dan mewakili metode non-batal, static (Shared dalam Visual Basic) yang mengambil satu argumen, itu adalah metode penerapan untuk simpul.

  • Jika expression. Jenis adalah jenis yang ditentukan pengguna yang mendefinisikan operator unary not, MethodInfo yang mewakili operator tersebut adalah metode penerapan.

  • Jika tidak, jika expression. Jenis adalah jenis numerik, metode penerapannya adalah null.

Jenis Node dan Diangkat versus Non-Lifted

Jika metode penerapan bukan null:

  • Jika expression. Jenis dapat ditetapkan ke jenis argumen dari metode penerapan, simpul tidak diangkat. Jenis simpul adalah jenis pengembalian dari metode penerapan.

  • Jika dua kondisi berikut terpenuhi, simpul diangkat dan jenis simpul adalah jenis yang dapat diubah ke null yang sesuai dengan jenis pengembalian metode penerapan:

    • expression. Jenis adalah jenis nilai yang dapat diubah ke null dan jenis nilai yang tidak dapat diubah ke null yang sesuai sama dengan jenis argumen metode penerapan.

    • Jenis pengembalian metode penerapan adalah jenis nilai yang tidak dapat diubah ke null.

Jika metode penerapan adalah null, jenis node adalah expression. Jenis. Jika expression. Jenis tidak dapat diubah ke null, simpul tidak diangkat. Jika tidak, simpul diangkat.

Berlaku untuk