Conversion.CTypeDynamic Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- TryConvert(ConvertBinder, Object)
- BindConvert(ConvertBinder)
- CTypeDynamic<TargetType>(Object)
- Trabalhando com objetos dinâmicos (Visual Basic)
- Passo a passo: criar e usar objetos dinâmicos (C# e Visual Basic)
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
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
- TryConvert(ConvertBinder, Object)
- BindConvert(ConvertBinder)
- CTypeDynamic(Object, Type)
- Trabalhando com objetos dinâmicos (Visual Basic)
- Passo a passo: criar e usar objetos dinâmicos (C# e Visual Basic)