Conversion.CTypeDynamic Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- TryConvert(ConvertBinder, Object)
- BindConvert(ConvertBinder)
- CTypeDynamic<TargetType>(Object)
- Trabajar con objetos dinámicos (Visual Basic)
- Tutorial: Crear y usar objetos dinámicos (C# y Visual Basic)
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
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
- TryConvert(ConvertBinder, Object)
- BindConvert(ConvertBinder)
- CTypeDynamic(Object, Type)
- Trabajar con objetos dinámicos (Visual Basic)
- Tutorial: Crear y usar objetos dinámicos (C# y Visual Basic)