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

Definição

Altera o tipo do Object determinado para o Type determinado.Changes the type of the given Object to the given Type.

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);
abstract member ChangeType : obj * Type * System.Globalization.CultureInfo -> obj

Parâmetros

value
Object

O objeto a ser alterado em um novo Type.The object to change into a new Type.

type
Type

O novo Type que value se tornará.The new Type that value will become.

culture
CultureInfo

Uma instância de CultureInfo que é usada para controlar a coerção de tipos de dados.An instance of CultureInfo that is used to control the coercion of data types. Caso culture seja null, CultureInfo para o thread atual é usado.If culture is null, the CultureInfo for the current thread is used.

Observação: por exemplo, esse parâmetro é necessário para converter um String que representa 1000 em um valor Double, porque 1000 é representado de forma diferente por diferentes culturas.Note For example, this parameter is necessary to convert a String that represents 1000 to a Double value, because 1000 is represented differently by different cultures.

Retornos

Um objeto que contém o valor especificado como o novo tipo.An object that contains the given value as the new type.

Comentários

A reflexão modela as regras de acessibilidade do Common Type System.Reflection models the accessibility rules of the common type system. Por exemplo, se o chamador estiver no mesmo assembly, o chamador não precisará de permissões especiais para membros internos.For example, if the caller is in the same assembly, the caller does not need special permissions for internal members. Caso contrário, o chamador ReflectionPermissionprecisará.Otherwise, the caller needs ReflectionPermission. Isso é consistente com a pesquisa de membros protegidos, privados e assim por diante.This is consistent with lookup of members that are protected, private, and so on.

O princípio geral é que ChangeType o deve executar apenas coerçãos ampliadoras, que nunca perdem dados.The general principle is that ChangeType should perform only widening coercions, which never lose data. Um exemplo de coerção de ampliação é forçar um valor que seja um inteiro assinado de 32 bits para um valor que seja um inteiro com sinal de 64 bits.An example of a widening coercion is coercing a value that is a 32-bit signed integer to a value that is a 64-bit signed integer. Isso é diferenciado de uma coerção de restrição, que pode perder dados.This is distinguished from a narrowing coercion, which may lose data. Um exemplo de uma coerção de restrição é a coerção de um inteiro assinado de 64 bits para um inteiro com sinal de 32 bits.An example of a narrowing coercion is coercing a 64-bit signed integer to a 32-bit signed integer.

A tabela a seguir lista as coerção executadas pelo padrão ChangeType.The following table lists the coercions performed by the default ChangeType.

Tipo de origemSource type Tipo de destinoTarget type
Qualquer tipoAny type Seu tipo base.Its base type.
Qualquer tipoAny type A interface que ele implementa.The interface it implements.
CharChar UInt16, UInt32, Int32, UInt64, Int64, Single e DoubleUInt16, UInt32, Int32, UInt64, Int64, Single, Double
ByteByte Char, UInt16, Int16, UInt32, Int32, UInt64, Int64, Single e DoubleChar, UInt16, Int16, UInt32, Int32, UInt64, Int64, Single, Double
SByteSByte Int16, Int32, Int64, Single e DoubleInt16, Int32, Int64, Single, Double
UInt16UInt16 UInt32, Int32, UInt64, Int64, Single e DoubleUInt32, Int32, UInt64, Int64, Single, Double
Int16Int16 Int32, Int64, Single e DoubleInt32, Int64, Single, Double
UInt32UInt32 UInt64, Int64, Single e DoubleUInt64, Int64, Single, Double
Int32Int32 Int64, Single e DoubleInt64, Single, Double
UInt64UInt64 Single e DoubleSingle, Double
Int64Int64 Single e DoubleSingle, Double
SimplesSingle DuploDouble
Não referênciaNon-reference Por referência.By-reference.

Aplica-se a