Expression.ConvertChecked メソッド

定義

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

オーバーロード

ConvertChecked(Expression, Type)

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

ConvertChecked(Expression, Type, MethodInfo)

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

ConvertChecked(Expression, Type)

変換後の型がオーバーフローした場合に例外をスローする変換演算を表す 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

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

例外

expression または typenull です。

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

注釈

結果UnaryExpressionのプロパティはMethod、実装メソッドに設定されます。 IsLiftedToNull プロパティが false です。 ノードが持ち上げられた場合、 IsLifted 次の値になります true。 それ以外の場合は、false となります。

メソッドの実装

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

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

  • それ以外の場合:

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

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

持ち上げと非リフト

実装方法が次ではない null場合:

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

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

実装方法が次の場合:null

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

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

適用対象

ConvertChecked(Expression, Type, MethodInfo)

変換後の型がオーバーフローした場合に例外をスローし、実装メソッドが指定される変換演算を表す 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

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 記述に一致する複数のメソッドが見つかりました。

注釈

結果UnaryExpressionのプロパティはMethod、実装メソッドに設定されます。 IsLiftedToNull プロパティが false です。 ノードが持ち上げられた場合、 IsLifted 次の値になります true。 それ以外の場合は、false となります。

メソッドの実装

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

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

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

  • それ以外の場合:

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

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

持ち上げと非リフト

実装方法が次ではない null場合:

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

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

実装方法が次の場合:null

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

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

適用対象