Expression.ConvertChecked Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.
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 atautype
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 dantype
mewakili jenis numerik atau Boolean, atau jenis enumerasi nullable atau non-nullable, metode penerapannya adalahnull
.Jika salah satu
expression
. Ketik atautype
adalah jenis referensi dan tinju eksplisit, pembukaan kotak, atau konversi referensi ada dariexpression
. Ketik ketype
, metode penerapannya adalahnull
.
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 ketype
, simpul tidak diangkat.Jika salah satu atau kedua dari
expression
. Jenis atautype
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 dantype
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.
- 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
expression
dari . Ketik atautype
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 dantype
mewakili jenis numerik atau Boolean, atau jenis enumerasi nullable atau non-nullable, metode penerapannya adalahnull
.Jika salah satu
expression
. Ketik atautype
adalah jenis referensi dan tinju eksplisit, pembukaan kotak, atau konversi referensi ada dariexpression
. Ketik ketype
, metode penerapannya adalahnull
.
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 ketype
, simpul tidak diangkat.Jika salah satu atau kedua dari
expression
. Jenis atautype
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 dantype
tidak dapat diubah ke null, simpul tidak diangkat.Jika tidak, simpul akan diangkat.