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.
Modifie le type de l’élément donné Object par l’élément donné 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
Public MustOverride Function ChangeType (value As Object, type As Type, culture As CultureInfo) As Object
Paramètres
- value
- Object
Objet à modifier en un nouveau Type.
- type
- Type
Le nouveau Type qui value deviendra.
- culture
- CultureInfo
Instance utilisée CultureInfo pour contrôler la contrainte des types de données. Si culture c’est nullle cas, le CultureInfo thread actuel est utilisé.
Retours
Objet qui contient la valeur donnée comme nouveau type.
Remarques
La 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 ReflectionPermission. Cela est cohérent avec la recherche des membres protégés, privés, et ainsi de suite.
Le principe général est qu’il ChangeType ne doit effectuer que des contraintes étendues, qui ne perdent jamais de données. Un exemple de forçage étendu consiste à forcer une valeur qui est un entier signé 32 bits à une valeur qui est un entier signé 64 bits. Cela se distingue d’un forçage étroit, qui peut perdre des données. Un exemple de contrainte restrictive consiste à forcer un entier signé 64 bits à un entier signé 32 bits.
Le tableau suivant répertorie les contraintes effectuées par défaut ChangeType.
| Type de source | Type de 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, Simple, 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 | Simple, Double |
| Int64 | Simple, Double |
| Célibataire | Double |
| Non-référence | Par référence. |
Si une implémentation de classeur autorise la contrainte des valeurs de chaîne en types numériques, le culture paramètre est nécessaire pour convertir une chaîne qui représente 1000 en Double valeur, car 1000 est représenté différemment par différentes cultures. Le classeur par défaut ne fait pas de contraintes de chaîne.