Freigeben über


Conversion.CTypeDynamic Methode

Definition

Überlädt

CTypeDynamic(Object, Type)

Konvertiert ein Objekt in den angegebenen Typ.

CTypeDynamic<TargetType>(Object)

Konvertiert ein Objekt in den angegebenen generischen Typ.

CTypeDynamic(Object, Type)

Quelle:
Conversion.vb
Quelle:
Conversion.vb
Quelle:
Conversion.vb

Konvertiert ein Objekt in den angegebenen 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

Parameter

Expression
Object

Das zu konvertierende Objekt.

TargetType
Type

Der Typ, in den das Objekt konvertiert werden soll.

Gibt zurück

Ein Objekt, dessen Typ zur Laufzeit der angeforderte Zieltyp ist.

Beispiele

Im folgenden Beispiel wird die CTypeDynamic -Methode verwendet, um ein dynamisches Objekt mithilfe der durch das dynamische Objekt definierten Konvertierung in eine Zeichenfolge zu konvertieren.

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  

Hinweise

Die CTypeDynamic -Methode konvertiert das als Expression Parameter übergebene Objekt in den vom TargetType Parameter angegebenen Typ. Wenn das Objekt ein dynamisches Objekt ist, wendet die CTypeDynamic Methode verfügbare dynamische Konvertierungen an.

Die CTypeDynamic -Methode wendet dynamische Konvertierungen gemäß der vom Objekt selbst definierten Konvertierungssemantik an. Wenn ein dynamisches Objekt von DynamicObjecterbt, versucht die CTypeDynamic -Methode zunächst, die Konvertierung mithilfe einer benutzerdefinierten statischen Konvertierung durchzuführen. Wenn bei der benutzerdefinierten statischen Konvertierung ein Fehler auftritt, versucht die CTypeDynamic Methode, die Konvertierung mithilfe dynamischer Konvertierungen durchzuführen. Wenn ein dynamisches IDynamicMetaObjectProviderObjekt implementiert, hat die CTypeDynamic -Methode dynamischen Konvertierungen Vorrang vor benutzerdefinierten statischen Konvertierungen.

Weitere Informationen

Gilt für:

CTypeDynamic<TargetType>(Object)

Quelle:
Conversion.vb
Quelle:
Conversion.vb
Quelle:
Conversion.vb

Konvertiert ein Objekt in den angegebenen generischen 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

Typparameter

TargetType

Der Typ, in den das Objekt konvertiert werden soll.

Parameter

Expression
Object

Das zu konvertierende Objekt.

Gibt zurück

TargetType

Ein Objekt, das statisch als der angeforderte generische Typ typisiert ist.

Beispiele

Im folgenden Beispiel wird die CTypeDynamic -Methode verwendet, um ein dynamisches Objekt mithilfe der durch das dynamische Objekt definierten Konvertierung in eine Zeichenfolge zu konvertieren.

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  

Hinweise

Die CTypeDynamic -Methode konvertiert das als Expression Parameter übergebene Objekt in den Typ, der vom Typ des generischen Parameters angegeben wird. Wenn das Objekt ein dynamisches Objekt ist, wendet die CTypeDynamic Methode verfügbare dynamische Konvertierungen an.

Die CTypeDynamic -Methode wendet dynamische Konvertierungen gemäß der vom Objekt selbst definierten Konvertierungssemantik an. Wenn ein dynamisches Objekt von DynamicObjecterbt, versucht die CTypeDynamic -Methode zunächst, die Konvertierung mithilfe einer benutzerdefinierten statischen Konvertierung durchzuführen. Wenn bei der benutzerdefinierten statischen Konvertierung ein Fehler auftritt, versucht die CTypeDynamic Methode, die Konvertierung mithilfe dynamischer Konvertierungen durchzuführen. Wenn ein dynamisches IDynamicMetaObjectProviderObjekt implementiert, hat die CTypeDynamic -Methode dynamischen Konvertierungen Vorrang vor benutzerdefinierten statischen Konvertierungen.

Weitere Informationen

Gilt für: