Sdílet prostřednictvím


Conversion.CTypeDynamic Metoda

Definice

Přetížení

CTypeDynamic(Object, Type)

Převede objekt na zadaný typ.

CTypeDynamic<TargetType>(Object)

Převede objekt na zadaný obecný typ.

CTypeDynamic(Object, Type)

Zdroj:
Conversion.vb
Zdroj:
Conversion.vb
Zdroj:
Conversion.vb

Převede objekt na zadaný typ.

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

Parametry

Expression
Object

Převáděný objekt

TargetType
Type

Typ, na který chcete objekt převést.

Návraty

Objekt, jehož typ za běhu je požadovaným cílovým typem.

Příklady

Následující příklad používá metodu CTypeDynamic k převodu dynamického objektu na řetězec pomocí převodu definovaného dynamickým objektem.

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  

Poznámky

Metoda CTypeDynamic převede objekt předaný jako Expression parametr na typ určený parametrem TargetType . Pokud je objekt dynamický objekt, CTypeDynamic metoda použije dostupné dynamické převody.

Metoda CTypeDynamic používá dynamické převody v souladu se sémantikou převodu definovanou samotným objektem. Pokud dynamický objekt dědí z DynamicObject, CTypeDynamic metoda se nejprve pokusí provést převod pomocí uživatelem definovaného statického převodu. Pokud uživatelem definovaný statický převod selže, CTypeDynamic metoda se pokusí provést převod pomocí dynamických převodů. Pokud dynamický objekt implementuje IDynamicMetaObjectProvider, CTypeDynamic metoda dává přednost dynamickým převodům před uživatelem definovanými statickými převody.

Viz také

Platí pro

CTypeDynamic<TargetType>(Object)

Zdroj:
Conversion.vb
Zdroj:
Conversion.vb
Zdroj:
Conversion.vb

Převede objekt na zadaný obecný typ.

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

Parametry typu

TargetType

Typ, na který chcete objekt převést.

Parametry

Expression
Object

Převáděný objekt

Návraty

TargetType

Objekt staticky zadaný jako požadovaný obecný typ.

Příklady

Následující příklad používá metodu CTypeDynamic k převodu dynamického objektu na řetězec pomocí převodu definovaného dynamickým objektem.

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  

Poznámky

Metoda CTypeDynamic převede objekt předaný jako Expression parametr na typ určený typem obecného parametru. Pokud je objekt dynamický objekt, CTypeDynamic metoda použije dostupné dynamické převody.

Metoda CTypeDynamic používá dynamické převody v souladu se sémantikou převodu definovanou samotným objektem. Pokud dynamický objekt dědí z DynamicObject, CTypeDynamic metoda se nejprve pokusí provést převod pomocí uživatelem definovaného statického převodu. Pokud uživatelem definovaný statický převod selže, CTypeDynamic metoda se pokusí provést převod pomocí dynamických převodů. Pokud dynamický objekt implementuje IDynamicMetaObjectProvider, CTypeDynamic metoda dává přednost dynamickým převodům před uživatelem definovanými statickými převody.

Viz také

Platí pro