Language

Expression.NegateChecked メソッド

定義

オーバーフロー チェックを含む算術否定演算を表す UnaryExpression を作成します。

オーバーロード

名前 説明
NegateChecked(Expression)

オーバーフロー チェックを含む算術否定演算を表す UnaryExpression を作成します。

NegateChecked(Expression, MethodInfo)

オーバーフロー チェックを含む算術否定演算を表す UnaryExpression を作成します。 実装メソッドを指定できます。

NegateChecked(Expression)

ソース:
UnaryExpression.cs
ソース:
UnaryExpression.cs
ソース:
UnaryExpression.cs
ソース:
UnaryExpression.cs
ソース:
UnaryExpression.cs

オーバーフロー チェックを含む算術否定演算を表す UnaryExpression を作成します。

public:
 static System::Linq::Expressions::UnaryExpression ^ NegateChecked(System::Linq::Expressions::Expression ^ expression);
public static System.Linq.Expressions.UnaryExpression NegateChecked(System.Linq.Expressions.Expression expression);
static member NegateChecked : System.Linq.Expressions.Expression -> System.Linq.Expressions.UnaryExpression
Public Shared Function NegateChecked (expression As Expression) As UnaryExpression

パラメーター

expression
Expression

Expression プロパティを等しい値に設定するOperand。

返品

UnaryExpression プロパティが NodeType と等しく、NegateChecked プロパティが指定した値に設定されているOperand。

例外

expression は nullです。

単項マイナス演算子は、 expressionに対して定義されていません。型。

注釈

結果のMethodのUnaryExpression プロパティは、実装メソッドに設定されます。 Type プロパティは、ノードの型に設定されます。 ノードがリフトされると、 IsLifted プロパティと IsLiftedToNull プロパティの両方が trueされます。 それ以外の場合は false です。

メソッドの実装

次の規則は、操作の実装方法を決定します。

  • expression場合。型は、単項マイナス演算子を定義するユーザー定義型で、その演算子を表すMethodInfoが実装メソッドです。

  • それ以外の場合( expression場合)。型は数値型で、実装メソッドは null。

ノードの種類とリフトされたノードと非リフト

実装メソッドが nullされていない場合:

  • expression場合。型は実装メソッドの引数型に割り当て可能であり、ノードはリフトされません。 ノードの型は、実装メソッドの戻り値の型です。

  • 次の 2 つの条件が満たされている場合、ノードはリフトされ、ノードの型は実装メソッドの戻り値の型に対応する null 許容型です。

    • expression.型は null 許容値型で、対応する null 非許容値型は実装メソッドの引数型と同じです。

    • 実装メソッドの返り値の型は非null許容型です。

実装メソッドが null場合、ノードの型は expression。型。 expression場合。型は null 非許容であり、ノードはリフトされません。 それ以外の場合、ノードはリフトされます。

適用対象

NegateChecked(Expression, MethodInfo)

ソース:
UnaryExpression.cs
ソース:
UnaryExpression.cs
ソース:
UnaryExpression.cs
ソース:
UnaryExpression.cs
ソース:
UnaryExpression.cs

オーバーフロー チェックを含む算術否定演算を表す UnaryExpression を作成します。 実装メソッドを指定できます。

public:
 static System::Linq::Expressions::UnaryExpression ^ NegateChecked(System::Linq::Expressions::Expression ^ expression, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.UnaryExpression NegateChecked(System.Linq.Expressions.Expression expression, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.UnaryExpression NegateChecked(System.Linq.Expressions.Expression expression, System.Reflection.MethodInfo? method);
static member NegateChecked : System.Linq.Expressions.Expression * System.Reflection.MethodInfo -> System.Linq.Expressions.UnaryExpression
Public Shared Function NegateChecked (expression As Expression, method As MethodInfo) As UnaryExpression

パラメーター

expression
Expression

Expression プロパティを等しい値に設定するOperand。

method
MethodInfo

MethodInfo プロパティを等しく設定するMethod。

返品

UnaryExpression プロパティが NodeType と等しく、NegateCheckedプロパティとOperandプロパティが指定した値に設定されているMethod。

例外

expression は nullです。

method は null されず、それが表すメソッドは voidを返すか、 static されていない (Visual Basic ではShared )、または 1 つの引数を受け取りません。

method は null であり、単項マイナス演算子は expressionに対して定義されていません。型。

-又は-

expression.型 (または null 許容値型の場合は対応する null 非許容型) は、 methodで表されるメソッドの引数型に割り当てできません。

注釈

結果のMethodのUnaryExpression プロパティは、実装メソッドに設定されます。 Type プロパティは、ノードの型に設定されます。 ノードがリフトされると、 IsLifted プロパティと IsLiftedToNull プロパティの両方が trueされます。 それ以外の場合は false です。

メソッドの実装

次の規則は、操作の実装方法を決定します。

  • methodがnullされず、1 つの引数を受け取る void 以外のstatic (Visual Basic のShared) メソッドを表す場合は、ノードの実装メソッドです。

  • expression場合。型は、単項マイナス演算子を定義するユーザー定義型で、その演算子を表すMethodInfoが実装メソッドです。

  • それ以外の場合( expression場合)。型は数値型で、実装メソッドは null。

ノードの種類とリフトされたノードと非リフト

実装メソッドが nullされていない場合:

  • expression場合。型は実装メソッドの引数型に割り当て可能であり、ノードはリフトされません。 ノードの型は、実装メソッドの戻り値の型です。

  • 次の 2 つの条件が満たされている場合、ノードはリフトされ、ノードの型は実装メソッドの戻り値の型に対応する null 許容型です。

    • expression.型は null 許容値型で、対応する null 非許容値型は実装メソッドの引数型と同じです。

    • 実装メソッドの返り値の型は非null許容型です。

実装メソッドが null場合、ノードの型は expression。型。 expression場合。型は null 非許容であり、ノードはリフトされません。 それ以外の場合、ノードはリフトされます。

適用対象