Conversion.CTypeDynamic Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przeciążenia
CTypeDynamic(Object, Type) |
Konwertuje obiekt na określony typ. |
CTypeDynamic<TargetType>(Object) |
Konwertuje obiekt na określony typ ogólny. |
CTypeDynamic(Object, Type)
- Źródło:
- Conversion.vb
- Źródło:
- Conversion.vb
- Źródło:
- Conversion.vb
Konwertuje obiekt na określony 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
Do obiektu do skonwertowania.
- TargetType
- Type
Typ, do którego ma być konwertowany obiekt.
Zwraca
Obiekt, którego typ w czasie wykonywania jest żądanym typem docelowym.
Przykłady
W poniższym przykładzie użyto CTypeDynamic
metody , aby przekonwertować obiekt dynamiczny na ciąg przy użyciu konwersji zdefiniowanej przez obiekt dynamiczny.
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
Uwagi
Metoda CTypeDynamic
konwertuje obiekt przekazany jako Expression
parametr na typ określony przez TargetType
parametr. Jeśli obiekt jest obiektem dynamicznym, CTypeDynamic
metoda stosuje dostępne konwersje dynamiczne.
Metoda CTypeDynamic
stosuje konwersje dynamiczne zgodnie z semantykami konwersji zdefiniowanymi przez sam obiekt. Jeśli obiekt dynamiczny dziedziczy z DynamicObjectmetody , CTypeDynamic
metoda najpierw próbuje wykonać konwersję przy użyciu konwersji zdefiniowanej przez użytkownika, konwersji statycznej. Jeśli zdefiniowana przez użytkownika konwersja statyczna nie powiedzie się, CTypeDynamic
metoda próbuje wykonać konwersję przy użyciu konwersji dynamicznych. Jeśli obiekt dynamiczny implementuje IDynamicMetaObjectProvidermetodę , CTypeDynamic
metoda ma pierwszeństwo przed konwersjami dynamicznymi w przypadku konwersji statycznych zdefiniowanych przez użytkownika.
Zobacz też
- TryConvert(ConvertBinder, Object)
- BindConvert(ConvertBinder)
- CTypeDynamic<TargetType>(Object)
- Praca z obiektami dynamicznymi (Visual Basic)
- Przewodnik: Tworzenie obiektów dynamicznych i posługiwanie się nimi (C# i Visual Basic)
Dotyczy
CTypeDynamic<TargetType>(Object)
- Źródło:
- Conversion.vb
- Źródło:
- Conversion.vb
- Źródło:
- Conversion.vb
Konwertuje obiekt na określony typ ogólny.
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, do którego ma być konwertowany obiekt.
Parametry
- Expression
- Object
Do obiektu do skonwertowania.
Zwraca
Obiekt statycznie wpisany jako żądany typ ogólny.
Przykłady
W poniższym przykładzie użyto CTypeDynamic
metody , aby przekonwertować obiekt dynamiczny na ciąg przy użyciu konwersji zdefiniowanej przez obiekt dynamiczny.
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
Uwagi
Metoda CTypeDynamic
konwertuje obiekt przekazany jako Expression
parametr na typ określony przez typ parametru ogólnego. Jeśli obiekt jest obiektem dynamicznym, CTypeDynamic
metoda stosuje dostępne konwersje dynamiczne.
Metoda CTypeDynamic
stosuje konwersje dynamiczne zgodnie z semantykami konwersji zdefiniowanymi przez sam obiekt. Jeśli obiekt dynamiczny dziedziczy z DynamicObjectmetody , CTypeDynamic
metoda najpierw próbuje wykonać konwersję przy użyciu konwersji zdefiniowanej przez użytkownika, konwersji statycznej. Jeśli zdefiniowana przez użytkownika konwersja statyczna nie powiedzie się, CTypeDynamic
metoda próbuje wykonać konwersję przy użyciu konwersji dynamicznych. Jeśli obiekt dynamiczny implementuje IDynamicMetaObjectProvidermetodę , CTypeDynamic
metoda ma pierwszeństwo przed konwersjami dynamicznymi w przypadku konwersji statycznych zdefiniowanych przez użytkownika.
Zobacz też
- TryConvert(ConvertBinder, Object)
- BindConvert(ConvertBinder)
- CTypeDynamic(Object, Type)
- Praca z obiektami dynamicznymi (Visual Basic)
- Przewodnik: Tworzenie obiektów dynamicznych i posługiwanie się nimi (C# i Visual Basic)