Freigeben über


Binder.ChangeType(Object, Type, CultureInfo) Methode

Definition

Ä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 ChangeTypeausgefü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.

Gilt für: