Bagikan melalui


Expression.ConvertChecked Metode

Definisi

UnaryExpression Membuat yang mewakili operasi konversi yang melemparkan pengecualian jika jenis target luapan.

Overload

ConvertChecked(Expression, Type)

UnaryExpression Membuat yang mewakili operasi konversi yang melemparkan pengecualian jika jenis target luapan.

ConvertChecked(Expression, Type, MethodInfo)

UnaryExpression Membuat yang mewakili operasi konversi yang melemparkan pengecualian jika jenis target luapan dan yang metode penerapannya ditentukan.

ConvertChecked(Expression, Type)

Sumber:
UnaryExpression.cs
Sumber:
UnaryExpression.cs
Sumber:
UnaryExpression.cs

UnaryExpression Membuat yang mewakili operasi konversi yang melemparkan pengecualian jika jenis target luapan.

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

Parameter

expression
Expression

Untuk Expression mengatur properti yang Operand sama dengan.

type
Type

A Type untuk mengatur properti yang Type sama dengan.

Mengembalikan

UnaryExpression yang memiliki NodeType properti yang sama dengan ConvertChecked dan Operand properti dan Type diatur ke nilai yang ditentukan.

Pengecualian

expression atau type adalah null.

Tidak ada operator konversi yang didefinisikan antara expression. Ketik dan type.

Keterangan

Method Properti dari hasil UnaryExpression diatur ke metode penerapan. Properti IsLiftedToNull adalah false. Jika simpul diangkat, IsLifted adalah true. Jika tidak, ini adalah false.

Metode Penerapan

Aturan berikut menentukan metode penerapan untuk operasi:

  • Jika salah satu expression. Ketik atau type adalah jenis yang ditentukan pengguna yang menentukan operator konversi implisit atau eksplisit, MethodInfo yang mewakili operator tersebut adalah metode penerapan.

  • Sebaliknya:

    • Jika keduanya expression. Ketik dan type mewakili jenis numerik atau Boolean, atau jenis enumerasi nullable atau non-nullable, metode penerapannya adalah null.

    • Jika salah satu expression. Ketik atau type adalah jenis referensi dan tinju eksplisit, pembukaan kotak, atau konversi referensi ada dari expression. Ketik ke type, metode penerapannya adalah null.

Diangkat versus Tidak Diangkat

Jika metode penerapan bukan null:

  • Jika expression. Jenis dapat ditetapkan ke jenis argumen metode penerapan dan jenis pengembalian metode penerapan dapat ditetapkan ke type, simpul tidak diangkat.

  • Jika salah satu atau kedua dari expression. Jenis atau type adalah jenis nilai nullable dan jenis nilai yang tidak dapat diubah ke null yang sesuai sama dengan jenis argumen dan jenis pengembalian dari metode penerapan masing-masing, simpul diangkat.

Jika metode penerapan adalah null:

  • Jika keduanya expression. Ketik dan type tidak dapat diubah ke null, simpul tidak diangkat.

  • Jika tidak, simpul akan diangkat.

Berlaku untuk

ConvertChecked(Expression, Type, MethodInfo)

Sumber:
UnaryExpression.cs
Sumber:
UnaryExpression.cs
Sumber:
UnaryExpression.cs

UnaryExpression Membuat yang mewakili operasi konversi yang melemparkan pengecualian jika jenis target luapan dan yang metode penerapannya ditentukan.

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

Parameter

expression
Expression

Untuk Expression mengatur properti yang Operand sama dengan.

type
Type

A Type untuk mengatur properti yang Type sama dengan.

method
MethodInfo

A MethodInfo untuk mengatur properti yang Method sama dengan.

Mengembalikan

UnaryExpression yang memiliki NodeType properti yang sama dengan ConvertChecked dan Operandproperti , , Typedan Method diatur ke nilai yang ditentukan.

Pengecualian

expression atau type adalah null.

method bukan null dan metode yang diwakilinya mengembalikan void, bukan static (Shared dalam Visual Basic), atau tidak mengambil satu argumen.

Tidak ada operator konversi yang didefinisikan antara expression. Ketik dan type.

-atau-

expression. Tipe tidak dapat ditetapkan ke jenis argumen metode yang diwakili oleh method.

-atau-

Jenis pengembalian metode yang diwakili oleh method tidak dapat ditetapkan ke type.

-atau-

expression. Jenis atau type adalah jenis nilai nullable dan jenis nilai yang tidak dapat diubah ke null yang sesuai tidak sama dengan jenis argumen atau jenis pengembalian, masing-masing, dari metode yang diwakili oleh method.

Lebih dari satu metode yang cocok dengan method deskripsi ditemukan.

Keterangan

Method Properti dari hasil UnaryExpression diatur ke metode penerapan. Properti IsLiftedToNull adalah false. Jika simpul diangkat, IsLifted adalah true. Jika tidak, ini adalah false.

Metode Penerapan

Aturan berikut menentukan metode penerapan untuk operasi:

  • Jika metode tidak null, itu adalah metode penerapan. Ini harus mewakili metode non-void, static (Shared dalam Visual Basic) yang mengambil satu argumen.

  • Jika tidak, jika salah satu expressiondari . Ketik atau type adalah jenis yang ditentukan pengguna yang menentukan operator konversi implisit atau eksplisit, MethodInfo yang mewakili operator tersebut adalah metode penerapan.

  • Sebaliknya:

    • Jika keduanya expression. Ketik dan type mewakili jenis numerik atau Boolean, atau jenis enumerasi nullable atau non-nullable, metode penerapannya adalah null.

    • Jika salah satu expression. Ketik atau type adalah jenis referensi dan tinju eksplisit, pembukaan kotak, atau konversi referensi ada dari expression. Ketik ke type, metode penerapannya adalah null.

Diangkat versus Tidak Diangkat

Jika metode penerapan bukan null:

  • Jika expression. Jenis dapat ditetapkan ke jenis argumen metode penerapan dan jenis pengembalian metode penerapan dapat ditetapkan ke type, simpul tidak diangkat.

  • Jika salah satu atau kedua dari expression. Jenis atau type adalah jenis nilai nullable dan jenis nilai yang tidak dapat diubah ke null yang sesuai sama dengan jenis argumen dan jenis pengembalian dari metode penerapan masing-masing, simpul diangkat.

Jika metode penerapan adalah null:

  • Jika keduanya expression. Ketik dan type tidak dapat diubah ke null, simpul tidak diangkat.

  • Jika tidak, simpul akan diangkat.

Berlaku untuk