Compartir vía


Binder.ChangeType(Object, Type, CultureInfo) Método

Definición

Cambia el tipo del valor Object especificado por el tipo Type especificado.

public:
 abstract System::Object ^ ChangeType(System::Object ^ value, Type ^ type, System::Globalization::CultureInfo ^ culture);
public abstract object ChangeType (object value, Type type, System.Globalization.CultureInfo? culture);
public abstract object ChangeType (object value, Type type, System.Globalization.CultureInfo culture);
abstract member ChangeType : obj * Type * System.Globalization.CultureInfo -> obj
Public MustOverride Function ChangeType (value As Object, type As Type, culture As CultureInfo) As Object

Parámetros

value
Object

Objeto que debe cambiarse a un nuevo Type.

type
Type

Nuevo tipo (Type) en que se convertirá el valor (value).

culture
CultureInfo

Instancia de CultureInfo utilizada para controlar la conversión de tipos de datos. Si culture es null, se usa CultureInfo del subproceso actual.

Devoluciones

Objeto que contiene el valor dado como el nuevo tipo.

Comentarios

La reflexión modela las reglas de accesibilidad del sistema de tipos comunes. Por ejemplo, si el autor de la llamada está en el mismo ensamblado, el autor de la llamada no necesita permisos especiales para los miembros internos. De lo contrario, el autor de la llamada necesita ReflectionPermission. Esto es coherente con la búsqueda de miembros protegidos, privados, etc.

El principio general es que ChangeType solo debe realizar coerciones de ampliación, que nunca pierden datos. Un ejemplo de una coerción de ampliación es convertir un valor que es un entero de 32 bits con signo en un valor que es un entero de 64 bits con signo. Esto se distingue de una coerción de restricción, que puede perder datos. Un ejemplo de una coerción de restricción consiste en convertir un entero de 64 bits con signo en un entero de 32 bits con signo.

En la tabla siguiente se enumeran las coerciones realizadas por el valor predeterminado ChangeType.

Tipo de origen Tipo de destino
Cualquier tipo Su tipo base.
Cualquier tipo La interfaz que implementa.
Char UInt16, UInt32, Int32, UInt64, Int64, Single, Double
Byte Char, UInt16, Int16, UInt32, Int32, UInt64, Int64, Single, Double
SByte Int16, Int32, Int64, Single, Double
UInt16 UInt32, Int32, UInt64, Int64, Single, Double
Int16 Int32, Int64, Single, Double
UInt32 UInt64, Int64, Single, Double
Int32 Int64, Single, Double
UInt64 Single, Double
Int64 Single, Double
Single Doble
No referencia Por referencia.

Si una implementación de enlazador permite la coerción de valores de cadena a tipos numéricos, el culture parámetro es necesario para convertir una cadena que representa 1000 a un Double valor, ya que 1000 se representa de forma diferente por referencias culturales diferentes. El enlazador predeterminado no realiza estas conversiones de cadenas.

Se aplica a