Binder.ChangeType(Object, Type, CultureInfo) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ändert den Typ des angegebenen Object
in den angegebenen 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);
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
Parameter
- value
- Object
Das Objekt, das in einen neuen Type
geändert werden soll.
- type
- Type
Der neue Type
, den value
annimmt.
- culture
- CultureInfo
Eine Instanz von CultureInfo, mit der die Umwandlung von Datentypen gesteuert wird. Wenn culture
den Wert null
hat, wird die CultureInfo des aktuellen Threads verwendet.
Gibt zurück
Ein Objekt, das den gegebenen Wert als neuen Typ enthält.
Hinweise
Reflektion modelliert die Barrierefreiheitsregeln des allgemeinen Typsystems. Wenn sich der Aufrufer beispielsweise in derselben Assembly befindet, benötigt der Aufrufer keine speziellen Berechtigungen für interne Member. Andernfalls benötigt ReflectionPermissionder Aufrufer . Dies ist konsistent mit der Suche von Mitgliedern, die geschützt, privat usw. sind.
Das allgemeine Prinzip ist, dass ChangeType
nur breitere Coercions ausgeführt werden sollen, die niemals Daten verlieren. Ein Beispiel für eine sich erweiternde Coercion ist das Coercing eines Werts, der eine 32-Bit-Ganzzahl mit Vorzeichen ist, zu einem Wert, der eine 64-Bit-ganzzahl mit Vorzeichen ist. Dies unterscheidet sich von einem einschränkenden Zwang, bei dem Daten verloren gehen können. Ein Beispiel für einen einschränkenden Zwang ist das Erzwingen einer 64-Bit-Ganzzahl mit Vorzeichen zu einer 32-Bit-Ganzzahl mit Vorzeichen.
In der folgenden Tabelle sind die mit der Standardeinstellung ChangeType
ausgeführten Coercions aufgeführt.
Quelltyp | Zieltyp |
---|---|
Beliebiger Typ | Sein Basistyp. |
Beliebiger Typ | Die schnittstelle, die sie implementiert. |
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 | Double |
Nicht referenz | Nachverweis. |
Wenn eine Binderimplementierung die Koerziierung von Zeichenfolgenwerten zu numerischen Typen zulässt, ist der culture
Parameter erforderlich, um eine Zeichenfolge, die 1000 darstellt, in einen Double Wert zu konvertieren, da 1000 von verschiedenen Kulturen unterschiedlich dargestellt wird. Der Standardbinder führt keine solchen Zeichenfolgenumwandlungen aus.