Conversion.CTypeDynamic Methode

Definition

Überlädt

Name Beschreibung
CTypeDynamic(Object, Type)

Konvertiert ein Objekt in den angegebenen Typ.

CTypeDynamic<TargetType>(Object)

Konvertiert ein Objekt in den angegebenen generischen Typ.

CTypeDynamic(Object, Type)

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);
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 Parameter übergebene Expression Objekt in den durch den TargetType Parameter angegebenen Typ. Wenn es sich bei dem Objekt um ein dynamisches Objekt handelt, wendet die CTypeDynamic Methode verfügbare dynamische Konvertierungen an.

Die CTypeDynamic Methode wendet dynamische Konvertierungen gemäß der Vom Objekt selbst definierten Konvertierungsemantik an. Wenn ein dynamisches Objekt erbt DynamicObject, versucht die CTypeDynamic Methode zunächst, die Konvertierung mithilfe einer benutzerdefinierten, statischen Konvertierung durchzuführen. Wenn die benutzerdefinierte, statische Konvertierung fehlschlägt, versucht die CTypeDynamic Methode, die Konvertierung mithilfe dynamischer Konvertierungen auszuführen. Wenn ein dynamisches Objekt implementiert wird IDynamicMetaObjectProvider, hat die CTypeDynamic Methode Vorrang vor dynamischen Konvertierungen gegenüber benutzerdefinierten statischen Konvertierungen.

Weitere Informationen

Gilt für:

CTypeDynamic<TargetType>(Object)

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);
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 als angeforderter generischer Typ eingegeben wurde.

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 Parameter übergebene Expression Objekt in den durch den Typ des generischen Parameters angegebenen Typs. Wenn es sich bei dem Objekt um ein dynamisches Objekt handelt, wendet die CTypeDynamic Methode verfügbare dynamische Konvertierungen an.

Die CTypeDynamic Methode wendet dynamische Konvertierungen gemäß der Vom Objekt selbst definierten Konvertierungsemantik an. Wenn ein dynamisches Objekt erbt DynamicObject, versucht die CTypeDynamic Methode zunächst, die Konvertierung mithilfe einer benutzerdefinierten, statischen Konvertierung durchzuführen. Wenn die benutzerdefinierte, statische Konvertierung fehlschlägt, versucht die CTypeDynamic Methode, die Konvertierung mithilfe dynamischer Konvertierungen auszuführen. Wenn ein dynamisches Objekt implementiert wird IDynamicMetaObjectProvider, hat die CTypeDynamic Methode Vorrang vor dynamischen Konvertierungen gegenüber benutzerdefinierten statischen Konvertierungen.

Weitere Informationen

Gilt für: