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
| 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
- TryConvert(ConvertBinder, Object)
- BindConvert(ConvertBinder)
- CTypeDynamic<TargetType>(Object)
- Working with Dynamic Objects (Visual Basic)
- Walkthrough: Erstellen und Verwenden dynamischer Objekte (C# und Visual Basic)
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
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
- TryConvert(ConvertBinder, Object)
- BindConvert(ConvertBinder)
- CTypeDynamic(Object, Type)
- Working with Dynamic Objects (Visual Basic)
- Walkthrough: Erstellen und Verwenden dynamischer Objekte (C# und Visual Basic)