Conversion.CTypeDynamic 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.
Overload
| CTypeDynamic(Object, Type) |
Mengonversi objek ke tipe yang ditentukan. |
| CTypeDynamic<TargetType>(Object) |
Mengonversi objek ke jenis generik yang ditentukan. |
CTypeDynamic(Object, Type)
- Sumber:
- Conversion.vb
- Sumber:
- Conversion.vb
- Sumber:
- Conversion.vb
Mengonversi objek ke tipe yang ditentukan.
public:
static System::Object ^ CTypeDynamic(System::Object ^ Expression, Type ^ TargetType);
public static object CTypeDynamic (object? Expression, Type TargetType);
public static object CTypeDynamic (object Expression, Type TargetType);
static member CTypeDynamic : obj * Type -> obj
Public Function CTypeDynamic (Expression As Object, TargetType As Type) As Object
Parameter
- Expression
- Object
Objek yang akan dikonversi.
- TargetType
- Type
Jenis untuk mengonversi objek.
Mengembalikan
Objek yang jenisnya pada waktu proses adalah jenis target yang diminta.
Contoh
Contoh berikut menggunakan CTypeDynamic metode untuk mengonversi objek dinamis menjadi string dengan menggunakan konversi yang ditentukan oleh objek dinamis.
Imports System.Dynamic
Module Module1
Sub Main()
Dim dyn As Object = New SampleDynamicObject
Dim sampleString = CTypeDynamic(dyn, GetType(String))
Console.WriteLine(sampleString)
End Sub
End Module
Class SampleDynamicObject
Inherits DynamicObject
Public Overrides Function TryConvert(ByVal binder As ConvertBinder,
ByRef result As Object) As Boolean
If binder.Type = GetType(String) Then
result = "Sample String"
Return True
End If
Return False
End Function
End Class
Keterangan
Metode mengonversi CTypeDynamic objek yang diteruskan sebagai Expression parameter ke jenis yang ditentukan oleh TargetType parameter . Jika objek adalah objek dinamis, CTypeDynamic metode menerapkan konversi dinamis yang tersedia.
Metode ini CTypeDynamic menerapkan konversi dinamis sesuai dengan semantik konversi yang ditentukan oleh objek itu sendiri. Jika objek dinamis mewarisi dari DynamicObject, CTypeDynamic metode pertama-tama mencoba melakukan konversi dengan menggunakan konversi statis yang ditentukan pengguna. Jika konversi statis yang ditentukan pengguna gagal, CTypeDynamic metode mencoba melakukan konversi dengan menggunakan konversi dinamis. Jika objek dinamis mengimplementasikan IDynamicMetaObjectProvider, CTypeDynamic metode ini lebih diutamakan untuk konversi dinamis atas konversi statis yang ditentukan pengguna.
Lihat juga
- TryConvert(ConvertBinder, Object)
- BindConvert(ConvertBinder)
- CTypeDynamic<TargetType>(Object)
- Menggunakan Objek Dinamis (Visual Basic)
- Panduan: Membuat dan Menggunakan Objek Dinamis (C# dan Visual Basic)
Berlaku untuk
CTypeDynamic<TargetType>(Object)
- Sumber:
- Conversion.vb
- Sumber:
- Conversion.vb
- Sumber:
- Conversion.vb
Mengonversi objek ke jenis generik yang ditentukan.
public:
generic <typename TargetType>
static TargetType CTypeDynamic(System::Object ^ Expression);
public static TargetType CTypeDynamic<TargetType> (object? Expression);
public static TargetType CTypeDynamic<TargetType> (object Expression);
static member CTypeDynamic : obj -> 'argetType
Public Function CTypeDynamic(Of TargetType) (Expression As Object) As TargetType
Jenis parameter
- TargetType
Jenis untuk mengonversi objek.
Parameter
- Expression
- Object
Objek yang akan dikonversi.
Mengembalikan
Objek secara statis di ketik sebagai jenis generik yang diminta.
Contoh
Contoh berikut menggunakan CTypeDynamic metode untuk mengonversi objek dinamis menjadi string dengan menggunakan konversi yang ditentukan oleh objek dinamis.
Imports System.Dynamic
Module Module1
Sub Main()
Dim dyn As Object = New SampleDynamicObject
Dim str = CTypeDynamic(Of String)(dyn)
Console.WriteLine(str)
End Sub
End Module
Class SampleDynamicObject
Inherits DynamicObject
Public Overrides Function TryConvert(ByVal binder As ConvertBinder,
ByRef result As Object) As Boolean
If binder.Type = GetType(String) Then
result = "Sample String"
Return True
End If
Return False
End Function
End Class
Keterangan
Metode mengonversi CTypeDynamic objek yang diteruskan sebagai Expression parameter ke jenis yang ditentukan oleh jenis parameter generik. Jika objek adalah objek dinamis, CTypeDynamic metode menerapkan konversi dinamis yang tersedia.
Metode ini CTypeDynamic menerapkan konversi dinamis sesuai dengan semantik konversi yang ditentukan oleh objek itu sendiri. Jika objek dinamis mewarisi dari DynamicObject, CTypeDynamic metode pertama-tama mencoba melakukan konversi dengan menggunakan konversi statis yang ditentukan pengguna. Jika konversi statis yang ditentukan pengguna gagal, CTypeDynamic metode mencoba melakukan konversi dengan menggunakan konversi dinamis. Jika objek dinamis mengimplementasikan IDynamicMetaObjectProvider, CTypeDynamic metode ini lebih diutamakan untuk konversi dinamis atas konversi statis yang ditentukan pengguna.
Lihat juga
- TryConvert(ConvertBinder, Object)
- BindConvert(ConvertBinder)
- CTypeDynamic(Object, Type)
- Menggunakan Objek Dinamis (Visual Basic)
- Panduan: Membuat dan Menggunakan Objek Dinamis (C# dan Visual Basic)