Binder.ChangeType(Object, Type, CultureInfo) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Convertit le type du Object
donné en Type
donné.
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
Paramètres
- value
- Object
Objet à changer en nouveau Type
.
- type
- Type
Le nouveau Type
que value
deviendra.
- culture
- CultureInfo
Instance de CultureInfo utilisée pour contrôler la contrainte des types de données. Si culture
est null
, le CultureInfo du thread actuel est utilisé.
Retours
Objet qui contient la valeur donnée comme type nouveau.
Remarques
Réflexion modélise les règles d’accessibilité du système de type commun. Par exemple, si l’appelant se trouve dans le même assembly, l’appelant n’a pas besoin d’autorisations spéciales pour les membres internes. Sinon, l’appelant a besoin ReflectionPermissionde . Cela est cohérent avec la recherche de membres protégés, privés, etc.
Le principe général est que ne doit effectuer que ChangeType
des forçages élargis, qui ne perdent jamais de données. Un exemple de forçage élargi consiste à forcer une valeur qui est un entier signé 32 bits vers une valeur qui est un entier signé 64 bits. Cela se distingue d’une contrainte restrictive, qui peut perdre des données. Un exemple de contrainte restrictive est la force d’un entier signé 64 bits en entier signé 32 bits.
Le tableau suivant répertorie les contraintes effectuées par la valeur par défaut ChangeType
.
Type de source | Type cible |
---|---|
Tout type | Son type de base. |
Tout type | Interface qu’il implémente. |
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 |
Unique | Double |
Non-référence | Par référence. |
Si une implémentation de binder autorise la forçage des valeurs de chaîne sur des types numériques, le culture
paramètre est nécessaire pour convertir une chaîne qui représente 1000 en valeur Double , car 1 000 est représenté différemment par différentes cultures. Le binder par défaut ne fait pas de telles contraintes de chaînes.