Expression.Negate 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 negasi aritmatika.
Overload
Negate(Expression, MethodInfo) |
UnaryExpression Membuat yang mewakili operasi negasi aritmatika. |
Negate(Expression) |
UnaryExpression Membuat yang mewakili operasi negasi aritmatika. |
Negate(Expression, MethodInfo)
- Sumber:
- UnaryExpression.cs
- Sumber:
- UnaryExpression.cs
- Sumber:
- UnaryExpression.cs
UnaryExpression Membuat yang mewakili operasi negasi aritmatika.
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
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 Negate 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
dalam Visual Basic), atau tidak mengambil tepat satu argumen.
method
adalah null
dan operator minus unary 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 true
adalah . Jika tidak, mereka salah.
Metode Penerapan
Aturan berikut menentukan metode penerapan untuk operasi:
Jika
method
tidaknull
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 minus tidak biasa, MethodInfo yang mewakili operator tersebut adalah metode penerapan.Jika tidak, jika
expression
. Jenis adalah jenis numerik, metode penerapannya adalahnull
.
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
Negate(Expression)
- Sumber:
- UnaryExpression.cs
- Sumber:
- UnaryExpression.cs
- Sumber:
- UnaryExpression.cs
UnaryExpression Membuat yang mewakili operasi negasi aritmatika.
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
Parameter
- expression
- Expression
Untuk Expression mengatur properti sama Operand dengan.
Mengembalikan
UnaryExpression properti yang memiliki NodeType properti sama dengan Negate dan Operand properti diatur ke nilai yang ditentukan.
Pengecualian
expression
adalah null
.
Operator minus unary tidak didefinisikan untuk expression
. Jenis.
Contoh
Contoh berikut menunjukkan cara membuat ekspresi yang mewakili operasi negasi aritmatika.
// 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
Keterangan
Method Properti dari hasil UnaryExpression diatur ke metode penerapan. Properti Type diatur ke jenis simpul. Jika simpul diangkat, IsLifted properti dan IsLiftedToNull keduanya true
adalah . Jika tidak, mereka salah.
Metode Penerapan
Aturan berikut menentukan metode penerapan untuk operasi:
Jika
expression
. Jenis adalah jenis yang ditentukan pengguna yang mendefinisikan operator minus tidak biasa, MethodInfo yang mewakili operator tersebut adalah metode penerapan.Jika tidak, jika
expression
. Jenis adalah jenis numerik, metode penerapannya adalahnull
.
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.