Expression.Not Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
UnaryExpression Membuat yang mewakili operasi pelengkap bitwise.
Overload
| Nama | Deskripsi |
|---|---|
| Not(Expression) |
UnaryExpression Membuat yang mewakili operasi pelengkap bitwise. |
| Not(Expression, MethodInfo) |
UnaryExpression Membuat yang mewakili operasi pelengkap bitwise. Metode penerapan dapat ditentukan. |
Not(Expression)
- Sumber:
- UnaryExpression.cs
- Sumber:
- UnaryExpression.cs
- Sumber:
- UnaryExpression.cs
- Sumber:
- UnaryExpression.cs
- Sumber:
- UnaryExpression.cs
UnaryExpression Membuat yang 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 properti diatur Operand ke nilai yang ditentukan.
Pengecualian
expression adalah null.
Operator not unary 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
Properti Method hasil UnaryExpression diatur ke metode penerapan. Properti Type diatur ke jenis simpul. Jika node diangkat, properti IsLifted dan IsLiftedToNull keduanya true. 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 bukan unary, MethodInfo yang mewakili operator tersebut adalah metode penerapan.Jika tidak, jika
expression. Jenisnya adalah jenis numerik atau Boolean, metode penerapannya adalahnull.
Jenis Node dan Diangkat versus Tidak Diangkat
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 tipe simpul adalah tipe nullable yang sesuai dengan tipe pengembalian dari metode yang menerapkannya:
expression. Jenis adalah jenis nilai nullable dan jenis non-nullable yang sesuai sama dengan jenis argumen metode penerapan.Jenis pengembalian metode yang diimplementasikan adalah jenis nilai yang tidak dapat bernilai 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
- Sumber:
- UnaryExpression.cs
- Sumber:
- UnaryExpression.cs
UnaryExpression Membuat yang 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 sama dengan Not dan Operand properti dan Method diatur ke nilai yang ditentukan.
Pengecualian
expression adalah null.
method bukan null dan metode yang diwakilinya mengembalikan void, bukan static (Shared di Visual Basic), atau tidak mengambil satu argumen.
method adalah null dan operator bukan unary tidak didefinisikan untuk expression. Jenis.
-atau-
expression. Jenis (atau jenis non-nullable yang sesuai jika merupakan jenis nilai nullable) tidak dapat ditetapkan ke jenis argumen metode yang diwakili oleh method.
Keterangan
Properti Method hasil UnaryExpression diatur ke metode penerapan. Properti Type diatur ke jenis simpul. Jika node diangkat, properti IsLifted dan IsLiftedToNull keduanya true. Jika tidak, mereka adalah false.
Metode Penerapan
Aturan berikut menentukan metode penerapan untuk operasi:
Jika
methodtidaknulldan mewakili metode non-void,static(Shareddalam Visual Basic) yang mengambil satu argumen, itu adalah metode penerapan untuk simpul.Jika
expression. Jenis adalah jenis yang ditentukan pengguna yang mendefinisikan operator bukan unary, MethodInfo yang mewakili operator tersebut adalah metode penerapan.Jika tidak, jika
expression. Jenis adalah jenis numerik, metode penerapannya adalahnull.
Jenis Node dan Diangkat versus Tidak Diangkat
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 tipe simpul adalah tipe nullable yang sesuai dengan tipe pengembalian dari metode yang menerapkannya:
expression. Jenis adalah jenis nilai nullable dan jenis nilai yang tidak dapat diubah ke null yang sesuai sama dengan jenis argumen metode penerapan.Jenis pengembalian metode yang diimplementasikan adalah jenis nilai yang tidak dapat bernilai 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.