Expression.NegateChecked メソッド

定義

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

オーバーロード

NegateChecked(Expression)

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

NegateChecked(Expression, MethodInfo)

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

NegateChecked(Expression)

ソース:
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

例外

expressionnullです。

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

注釈

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 非許容であり、ノードはリフトされません。 それ以外の場合、ノードはリフトされます。

適用対象

NegateChecked(Expression, MethodInfo)

ソース:
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

例外

expressionnullです。

methodnull ではなく、それが表すメソッドは void を返し、static (Visual Basic では Shared) ではないか、受け取る引数が 1 つだけではありません。

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

- または -

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

注釈

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

メソッドの実装

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

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

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

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

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

実装メソッドが でない null場合:

  • の場合 expression。型は実装メソッドの引数型に割り当て可能であり、ノードは持ち上げられません。 ノードの型は、実装メソッドの戻り値の型です。

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

    • expression.Type は null 許容値型で、対応する null 非許容値型は実装メソッドの引数型と等しくなります。

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

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

適用対象