Compartilhar via


Conversion.CTypeDynamic Método

Definição

Sobrecargas

CTypeDynamic(Object, Type)

Converte um objeto no tipo especificado.

CTypeDynamic<TargetType>(Object)

Converte um objeto no tipo genérico especificado.

CTypeDynamic(Object, Type)

Origem:
Conversion.vb
Origem:
Conversion.vb
Origem:
Conversion.vb

Converte um objeto no 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

O objeto a ser convertido.

TargetType
Type

O tipo para o qual o objeto será convertido.

Retornos

Um objeto cujo tipo em tempo de execução é o tipo de destino solicitado.

Exemplos

O exemplo a seguir usa o CTypeDynamic método para converter um objeto dinâmico em uma cadeia de caracteres usando a conversão definida pelo 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  

Comentários

O CTypeDynamic método converte o objeto passado como o Expression parâmetro para o tipo especificado pelo TargetType parâmetro . Se o objeto for um objeto dinâmico, o CTypeDynamic método aplicará conversões dinâmicas disponíveis.

O CTypeDynamic método aplica conversões dinâmicas de acordo com a semântica de conversão definida pelo próprio objeto. Se um objeto dinâmico herdar de DynamicObject, o CTypeDynamic método primeiro tentará executar a conversão usando uma conversão estática definida pelo usuário. Se a conversão estática definida pelo usuário falhar, o CTypeDynamic método tentará executar a conversão usando conversões dinâmicas. Se um objeto dinâmico implementar IDynamicMetaObjectProvider, o CTypeDynamic método dará precedência a conversões dinâmicas em conversões estáticas definidas pelo usuário.

Confira também

Aplica-se a

CTypeDynamic<TargetType>(Object)

Origem:
Conversion.vb
Origem:
Conversion.vb
Origem:
Conversion.vb

Converte um objeto no 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

O tipo para o qual o objeto será convertido.

Parâmetros

Expression
Object

O objeto a ser convertido.

Retornos

TargetType

Um objeto digitalmente tipado como o tipo genérico solicitado.

Exemplos

O exemplo a seguir usa o CTypeDynamic método para converter um objeto dinâmico em uma cadeia de caracteres usando a conversão definida pelo 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  

Comentários

O CTypeDynamic método converte o objeto passado como o Expression parâmetro para o tipo especificado pelo tipo do parâmetro genérico. Se o objeto for um objeto dinâmico, o CTypeDynamic método aplicará conversões dinâmicas disponíveis.

O CTypeDynamic método aplica conversões dinâmicas de acordo com a semântica de conversão definida pelo próprio objeto. Se um objeto dinâmico herdar de DynamicObject, o CTypeDynamic método primeiro tentará executar a conversão usando uma conversão estática definida pelo usuário. Se a conversão estática definida pelo usuário falhar, o CTypeDynamic método tentará executar a conversão usando conversões dinâmicas. Se um objeto dinâmico implementar IDynamicMetaObjectProvider, o CTypeDynamic método dará precedência a conversões dinâmicas em conversões estáticas definidas pelo usuário.

Confira também

Aplica-se a