Bagikan melalui


Conversion.CTypeDynamic Metode

Definisi

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

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

TargetType

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

Berlaku untuk