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

Définition

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.

S’applique à