Conversion.CTypeDynamic Método

Definición

Sobrecargas

CTypeDynamic(Object, Type)

Convierte un objeto al tipo especificado.

CTypeDynamic<TargetType>(Object)

Convierte un objeto al tipo genérico especificado.

CTypeDynamic(Object, Type)

Source:
Conversion.vb
Source:
Conversion.vb
Source:
Conversion.vb

Convierte un objeto al tipo especificado.

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

Parámetros

Expression
Object

Objeto que se va a convertir.

TargetType
Type

Tipo al que se va a convertir el objeto.

Devoluciones

Objeto cuyo tipo en tiempo de ejecución es el tipo de destino solicitado.

Ejemplos

En el ejemplo siguiente se usa el CTypeDynamic método para convertir un objeto dinámico en una cadena mediante la conversión definida por el objeto dinámico.

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  

Comentarios

El CTypeDynamic método convierte el objeto pasado como Expression parámetro al tipo especificado por el TargetType parámetro . Si el objeto es un objeto dinámico, el CTypeDynamic método aplica conversiones dinámicas disponibles.

El CTypeDynamic método aplica conversiones dinámicas de acuerdo con la semántica de conversión definida por el propio objeto. Si un objeto dinámico hereda de DynamicObject, el CTypeDynamic método primero intenta realizar la conversión mediante una conversión estática definida por el usuario. Si se produce un error en la conversión estática definida por el usuario, el CTypeDynamic método intenta realizar la conversión mediante conversiones dinámicas. Si un objeto dinámico implementa IDynamicMetaObjectProvider, el CTypeDynamic método da prioridad a las conversiones dinámicas sobre conversiones estáticas definidas por el usuario.

Consulte también

Se aplica a

CTypeDynamic<TargetType>(Object)

Source:
Conversion.vb
Source:
Conversion.vb
Source:
Conversion.vb

Convierte un objeto al tipo genérico especificado.

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

Parámetros de tipo

TargetType

Tipo al que se va a convertir el objeto.

Parámetros

Expression
Object

Objeto que se va a convertir.

Devoluciones

TargetType

Objeto con tipos estáticos como el tipo genérico solicitado.

Ejemplos

En el ejemplo siguiente se usa el CTypeDynamic método para convertir un objeto dinámico en una cadena mediante la conversión definida por el objeto dinámico.

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  

Comentarios

El CTypeDynamic método convierte el objeto pasado como Expression parámetro al tipo especificado por el tipo del parámetro genérico. Si el objeto es un objeto dinámico, el CTypeDynamic método aplica conversiones dinámicas disponibles.

El CTypeDynamic método aplica conversiones dinámicas de acuerdo con la semántica de conversión definida por el propio objeto. Si un objeto dinámico hereda de DynamicObject, el CTypeDynamic método primero intenta realizar la conversión mediante una conversión estática definida por el usuario. Si se produce un error en la conversión estática definida por el usuario, el CTypeDynamic método intenta realizar la conversión mediante conversiones dinámicas. Si un objeto dinámico implementa IDynamicMetaObjectProvider, el CTypeDynamic método da prioridad a las conversiones dinámicas sobre conversiones estáticas definidas por el usuario.

Consulte también

Se aplica a