Conversion.CTypeDynamic Método

Definición

Sobrecargas

Nombre Description
CTypeDynamic(Object, Type)

Convierte un objeto en el tipo especificado.

CTypeDynamic<TargetType>(Object)

Convierte un objeto en el tipo genérico especificado.

CTypeDynamic(Object, Type)

Convierte un objeto en el tipo especificado.

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

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 parámetro Expression 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)

Convierte un objeto en el tipo genérico especificado.

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

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 tipo estático como 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