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 ObjectTypeBereichs.
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
Parameter
- value
- Object
Das Objekt, das in ein neues Typegeändert werden soll.
- type
- Type
Das neue Type , das value wird.
- culture
- CultureInfo
Eine Instanz davon CultureInfo wird verwendet, um die Koersion von Datentypen zu steuern. Ist culture dies nullder Grund, wird der CultureInfo aktuelle Thread verwendet.
Gibt zurück
Ein Objekt, das den angegebenen Wert als neuen Typ enthält.
Hinweise
Spiegelung 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 Anrufer . Dies entspricht dem Nachschlagen von Mitgliedern, die geschützt, privat usw. sind.
Das allgemeine Prinzip besteht darin, dass ChangeType nur Verbreiterungskoerionen durchgeführt werden sollten, die niemals Daten verlieren. Ein Beispiel für eine verbreiternde Koersion ist das Erzwingen eines Werts, bei dem es sich um eine 32-Bit-ganzzahlige Vorzeichen handelt, auf einen Wert, der eine 64-Bit-ganzzahl ist. Dies unterscheidet sich von einer schmalen Koersion, die möglicherweise Daten verliert. Ein Beispiel für eine schmale Koersion ist das Erzwingen einer 64-Bit-Ganzzahl mit Vorzeichen in eine 32-Bit-Ganzzahl.
In der folgenden Tabelle sind die von der Standardeinstellung ChangeTypeausgeführten Koerzionen aufgeführt.
| Quelltyp | Zieltyp |
|---|---|
| Beliebiger Typ | Der Basistyp. |
| Beliebiger Typ | Die schnittstelle, die implementiert wird. |
| 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 | Einzelzimmer, Doppelzimmer |
| Int64 | Einzelzimmer, Doppelzimmer |
| Ledig | Double |
| Nichtverweis | NachVerweis. |
Wenn eine Binderimplementierung die Koersion von Zeichenfolgenwerten zu numerischen Typen zulässt, ist der culture Parameter erforderlich, um eine Zeichenfolge zu konvertieren, die 1000 in einen Double Wert darstellt, da 1000 unterschiedlich durch verschiedene Kulturen dargestellt wird. Der Standardordner führt solche Zeichenfolgenkoerionen nicht durch.