Conversion.CTypeDynamic Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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é
- TryConvert(ConvertBinder, Object)
- BindConvert(ConvertBinder)
- CTypeDynamic<TargetType>(Object)
- Práce s dynamickými objekty (Visual Basic)
- Návod: Vytváření a používání dynamických objektů (C# a Visual Basic)
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
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é
- TryConvert(ConvertBinder, Object)
- BindConvert(ConvertBinder)
- CTypeDynamic(Object, Type)
- Práce s dynamickými objekty (Visual Basic)
- Návod: Vytváření a používání dynamických objektů (C# a Visual Basic)