Conversion.CTypeDynamic Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ü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
- TryConvert(ConvertBinder, Object)
- BindConvert(ConvertBinder)
- CTypeDynamic<TargetType>(Object)
- Arbeiten mit dynamischen Objekten (Visual Basic)
- Exemplarische Vorgehensweise: Erstellen und Verwenden von dynamischen Objekten (C# und Visual Basic)
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
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
- TryConvert(ConvertBinder, Object)
- BindConvert(ConvertBinder)
- CTypeDynamic(Object, Type)
- Arbeiten mit dynamischen Objekten (Visual Basic)
- Exemplarische Vorgehensweise: Erstellen und Verwenden von dynamischen Objekten (C# und Visual Basic)