Conversion.CTypeDynamic Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Sobrecargas
| Name | Description |
|---|---|
| CTypeDynamic(Object, Type) |
Converte um objeto para o tipo especificado. |
| CTypeDynamic<TargetType>(Object) |
Converte um objeto para o tipo genérico especificado. |
CTypeDynamic(Object, Type)
Converte um objeto para o 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
O objetivo a converter.
- TargetType
- Type
O tipo para o qual converter o objeto.
Devoluções
Um objeto cujo tipo em tempo de execução é o tipo de alvo solicitado.
Exemplos
O exemplo seguinte utiliza o CTypeDynamic método para converter um objeto dinâmico numa cadeia 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
Observações
O CTypeDynamic método converte o objeto passado como Expression parâmetro para o tipo especificado pelo TargetType parâmetro. Se o objeto for um objeto dinâmico, o CTypeDynamic método aplica as 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 herda de DynamicObject, o CTypeDynamic método tenta primeiro realizar a conversão usando uma conversão estática definida pelo utilizador. Se a conversão estática definida pelo utilizador falhar, o CTypeDynamic método tenta realizar a conversão usando conversões dinâmicas. Se um objeto dinâmico implementar IDynamicMetaObjectProvider, o CTypeDynamic método dá precedência às conversões dinâmicas sobre conversões estáticas definidas pelo utilizador.
Ver também
- TryConvert(ConvertBinder, Object)
- BindConvert(ConvertBinder)
- CTypeDynamic<TargetType>(Object)
- A trabalhar com Objetos Dinâmicos (Visual Basic)
Guia: Criação e Utilização de Objetos Dinâmicos (C# e Visual Basic)
Aplica-se a
CTypeDynamic<TargetType>(Object)
Converte um objeto para o 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 Genérico
- TargetType
O tipo para o qual converter o objeto.
Parâmetros
- Expression
- Object
O objetivo a converter.
Devoluções
Um objeto tipado estaticamente como o tipo genérico solicitado.
Exemplos
O exemplo seguinte utiliza o CTypeDynamic método para converter um objeto dinâmico numa cadeia 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
Observações
O CTypeDynamic método converte o objeto passado como 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 aplica as 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 herda de DynamicObject, o CTypeDynamic método tenta primeiro realizar a conversão usando uma conversão estática definida pelo utilizador. Se a conversão estática definida pelo utilizador falhar, o CTypeDynamic método tenta realizar a conversão usando conversões dinâmicas. Se um objeto dinâmico implementar IDynamicMetaObjectProvider, o CTypeDynamic método dá precedência às conversões dinâmicas sobre conversões estáticas definidas pelo utilizador.
Ver também
- TryConvert(ConvertBinder, Object)
- BindConvert(ConvertBinder)
- CTypeDynamic(Object, Type)
- A trabalhar com Objetos Dinâmicos (Visual Basic)
Guia: Criação e Utilização de Objetos Dinâmicos (C# e Visual Basic)