Conversion.CTypeDynamic Metode

Definisi

Overload

Nama Deskripsi
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
Sumber:
Conversion.vb
Sumber:
Conversion.vb

Mengonversi objek ke tipe yang ditentukan.

public:
 static System::Object ^ CTypeDynamic(System::Object ^ Expression, Type ^ TargetType);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The Expression's underlying type cannot be statically analyzed and its members may be trimmed")]
public static object CTypeDynamic(object? Expression, Type TargetType);
public static object CTypeDynamic(object? Expression, Type TargetType);
public static object CTypeDynamic(object Expression, Type TargetType);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The Expression's underlying type cannot be statically analyzed and its members may be trimmed")>]
static member CTypeDynamic : obj * Type -> obj
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.

Atribut

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, metode menerapkan CTypeDynamic 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 daripada konversi statis yang ditentukan pengguna.

Lihat juga

Berlaku untuk

CTypeDynamic<TargetType>(Object)

Sumber:
Conversion.vb
Sumber:
Conversion.vb
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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The Expression's underlying type cannot be statically analyzed and its members may be trimmed")]
public static TargetType CTypeDynamic<TargetType>(object? Expression);
public static TargetType CTypeDynamic<TargetType>(object? Expression);
public static TargetType CTypeDynamic<TargetType>(object Expression);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The Expression's underlying type cannot be statically analyzed and its members may be trimmed")>]
static member CTypeDynamic : obj -> 'argetType
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 ditik sebagai jenis generik yang diminta.

Atribut

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, metode menerapkan CTypeDynamic 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 daripada konversi statis yang ditentukan pengguna.

Lihat juga

Berlaku untuk