Expression.ConvertChecked メソッド

定義

変換後の型がオーバーフローした場合に例外をスローする変換演算を表す UnaryExpression を作成します。

オーバーロード

ConvertChecked(Expression, Type)

変換後の型がオーバーフローした場合に例外をスローする変換演算を表す UnaryExpression を作成します。

ConvertChecked(Expression, Type, MethodInfo)

変換後の型がオーバーフローした場合に例外をスローし、実装メソッドが指定される変換演算を表す UnaryExpression を作成します。

ConvertChecked(Expression, Type)

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

変換後の型がオーバーフローした場合に例外をスローする変換演算を表す UnaryExpression を作成します。

public:
 static System::Linq::Expressions::UnaryExpression ^ ConvertChecked(System::Linq::Expressions::Expression ^ expression, Type ^ type);
public static System.Linq.Expressions.UnaryExpression ConvertChecked (System.Linq.Expressions.Expression expression, Type type);
static member ConvertChecked : System.Linq.Expressions.Expression * Type -> System.Linq.Expressions.UnaryExpression
Public Shared Function ConvertChecked (expression As Expression, type As Type) As UnaryExpression

パラメーター

expression
Expression

Expression プロパティを等しく設定する Operand

type
Type

Type プロパティを等しく設定する Type

戻り値

UnaryExpression と等しい NodeType プロパティと、指定した値に設定された ConvertChecked プロパティおよび Operand プロパティを含む Type

例外

expression または typenull です。

expression.Type と type の間には変換演算子が定義されていません。

注釈

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

メソッドの実装

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

  • どちらかの expression場合。型または type は、暗黙的または明示的な変換演算子を定義するユーザー定義型です。この演算子 MethodInfo を表す は実装メソッドです。

  • それ以外の場合:

    • 両方の expression場合。型と type は、数値型またはブール型、または null 許容型または null 非許容列挙型を表します。実装メソッドは です null

    • どちらかの expression場合。型または type は参照型であり、 から expression明示的なボックス化、ボックス化解除、または参照変換が存在します。を に type入力します。実装メソッドは です null

リフト済みと非リフト済み

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

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

  • のいずれかまたは両方の expression場合。型または type が null 許容値型であり、対応する null 非許容値型は、それぞれ実装メソッドの引数型と戻り値の型と等しい場合、ノードはリフトされます。

実装メソッドが の場合:null

  • 両方の expression場合。型と type は null 非許容であり、ノードはリフトされません。

  • それ以外の場合、ノードはリフトされます。

適用対象

ConvertChecked(Expression, Type, MethodInfo)

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

変換後の型がオーバーフローした場合に例外をスローし、実装メソッドが指定される変換演算を表す UnaryExpression を作成します。

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

パラメーター

expression
Expression

Expression プロパティを等しく設定する Operand

type
Type

Type プロパティを等しく設定する Type

method
MethodInfo

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

戻り値

UnaryExpression と等しい NodeType プロパティと、指定した値に設定された ConvertCheckedOperand、および Type の各プロパティを含む Method

例外

expression または typenull です。

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

expression.Type と type の間には変換演算子が定義されていません。

- または -

expression.Type は、method によって表されるメソッドの引数型に代入できません。

- または -

method によって表されるメソッドの戻り値の型は、type に代入できません。

- または -

expression.Type または type は null 許容値型で、対応する null 非許容値型は method によって表されるメソッドそれぞれの、引数型または戻り値の型と等しくありません。

method 記述に一致する複数のメソッドが見つかりました。

注釈

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

メソッドの実装

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

  • メソッドが でない null場合は、実装メソッドです。 これは、 static 1 つの引数を受け取る void 以外の (Shared Visual Basic では) メソッドを表す必要があります。

  • それ以外の場合は 。どちらかの expression場合は 。型または type は、暗黙的または明示的な変換演算子を定義するユーザー定義型です。この演算子 MethodInfo を表す は実装メソッドです。

  • それ以外の場合:

    • 両方の expression場合。型と type は、数値型またはブール型、または null 許容型または null 非許容列挙型を表します。実装メソッドは です null

    • どちらかの expression場合。型または type は参照型であり、 から expression明示的なボックス化、ボックス化解除、または参照変換が存在します。を に type入力します。実装メソッドは です null

リフト済みと非リフト済み

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

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

  • のいずれかまたは両方の expression場合。型または type が null 許容値型であり、対応する null 非許容値型は、それぞれ実装メソッドの引数型と戻り値の型と等しい場合、ノードはリフトされます。

実装メソッドが の場合:null

  • 両方の expression場合。型と type は null 非許容であり、ノードはリフトされません。

  • それ以外の場合、ノードはリフトされます。

適用対象