Expression.Negate メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
算術否定演算を表す UnaryExpression を作成します。
オーバーロード
Negate(Expression, MethodInfo) |
算術否定演算を表す UnaryExpression を作成します。 |
Negate(Expression) |
算術否定演算を表す UnaryExpression を作成します。 |
Negate(Expression, MethodInfo)
算術否定演算を表す UnaryExpression を作成します。
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
パラメーター
- expression
- Expression
Expression プロパティを等しく設定する Operand。
- method
- MethodInfo
MethodInfo プロパティを等しく設定する Method。
戻り値
UnaryExpression と等しい NodeType プロパティと、指定した値に設定された Negate プロパティおよび Operand プロパティを含む Method。
例外
expression
が null
です。
method
は null
ではなく、それが表すメソッドは void
を返し、static
(Visual Basic では Shared
) ではないか、受け取る引数が 1 つだけではありません。
method
は null
で、単項マイナス演算子は expression
.Type に対して定義されていません。
- または -
expression
.Type (または null 許容値型の場合はその対応する null 非許容型) は、method
によって表されるメソッドの引数型に代入できません。
注釈
Method結果UnaryExpressionの の プロパティは、実装メソッドに設定されます。 プロパティは Type ノードの型に設定されます。 ノードがリフトされた場合、 IsLifted プロパティと IsLiftedToNull プロパティは両方とも true
になります。 それ以外の場合は false です。
メソッドの実装
次の規則は、操作の実装方法を決定します。
が でなく
null
、static
1 つの引数を受け取る void 以外の (Shared
Visual Basic の場合) メソッドを表す場合method
は、ノードの実装メソッドです。の場合
expression
。Type は、単項マイナス演算子を定義するユーザー定義型であり、 MethodInfo その演算子を表す が実装メソッドです。それ以外の場合
expression
は 。型は数値型で、実装メソッドは ですnull
。
ノードの種類とリフトされたノードと非リフト
実装メソッドが でない null
場合:
の場合
expression
。型は実装メソッドの引数型に割り当て可能であり、ノードは持ち上げられません。 ノードの型は、実装メソッドの戻り値の型です。次の 2 つの条件が満たされた場合、ノードはリフトされ、ノードの型は実装メソッドの戻り値の型に対応する null 許容型です。
expression
.Type は null 許容値型で、対応する null 非許容値型は実装メソッドの引数型と等しくなります。実装メソッドの戻り値の型は null 非許容値型です。
実装メソッドが の null
場合、ノードの型は です expression
。型。 の場合 expression
。型は null 非許容であり、ノードはリフトされません。 それ以外の場合、ノードはリフトされます。
適用対象
Negate(Expression)
算術否定演算を表す UnaryExpression を作成します。
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
パラメーター
- expression
- Expression
Expression プロパティを等しく設定する Operand。
戻り値
UnaryExpression と等しい NodeType プロパティおよび指定した値に設定された Negate プロパティを含む Operand。
例外
expression
が null
です。
単項マイナス演算子は、expression
.Type に対して定義されていません。
例
次の例では、算術否定演算を表す式を作成する方法を示します。
// 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
注釈
Method結果UnaryExpressionの の プロパティは、実装メソッドに設定されます。 プロパティは Type ノードの型に設定されます。 ノードがリフトされた場合、 IsLifted プロパティと IsLiftedToNull プロパティは両方とも true
になります。 それ以外の場合は false です。
メソッドの実装
次の規則は、操作の実装方法を決定します。
の場合
expression
。Type は、単項マイナス演算子を定義するユーザー定義型であり、 MethodInfo その演算子を表す が実装メソッドです。それ以外の場合
expression
は 。型は数値型で、実装メソッドは ですnull
。
ノードの種類とリフトされたノードと非リフト
実装メソッドが でない null
場合:
の場合
expression
。型は実装メソッドの引数型に割り当て可能であり、ノードは持ち上げられません。 ノードの型は、実装メソッドの戻り値の型です。次の 2 つの条件が満たされた場合、ノードはリフトされ、ノードの型は実装メソッドの戻り値の型に対応する null 許容型です。
expression
.Type は null 許容値型で、対応する null 非許容値型は実装メソッドの引数型と等しくなります。実装メソッドの戻り値の型は null 非許容値型です。
実装メソッドが の null
場合、ノードの型は です expression
。型。 の場合 expression
。型は null 非許容であり、ノードはリフトされません。 それ以外の場合、ノードはリフトされます。
適用対象
.NET