Expression.ConvertChecked メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
変換後の型がオーバーフローした場合に例外をスローする変換演算を表す 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。
戻り値
UnaryExpression と等しい NodeType プロパティと、指定した値に設定された ConvertChecked プロパティおよび Operand プロパティを含む Type。
例外
expression または type が null です。
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 を作成します。
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。
- method
- MethodInfo
MethodInfo プロパティを等しく設定する Method。
戻り値
UnaryExpression と等しい NodeType プロパティと、指定した値に設定された ConvertChecked、Operand、および Type の各プロパティを含む Method。
例外
expression または type が null です。
method は null ではなく、それが表すメソッドは 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場合は、実装メソッドです。 これは、static1 つの引数を受け取る void 以外の (SharedVisual 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 非許容であり、ノードはリフトされません。それ以外の場合、ノードはリフトされます。