Binder.ChangeType(Object, Type, CultureInfo) Binder.ChangeType(Object, Type, CultureInfo) Binder.ChangeType(Object, Type, CultureInfo) Method

Definition

Ändert den Typ des angegebenen Object in den angegebenen Type.Changes the type of the given Object to the given 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

Parameter

value
Object Object Object

Das Objekt, das in einen neuen Type geändert werden soll.The object to change into a new Type.

type
Type Type Type

Der neue Type, den value annimmt.The new Type that value will become.

culture
CultureInfo CultureInfo CultureInfo

Eine Instanz von CultureInfo, mit der die Umwandlung von Datentypen gesteuert wird.An instance of CultureInfo that is used to control the coercion of data types. Wenn culture den Wert null hat, wird die CultureInfo des aktuellen Threads verwendet.If culture is null, the CultureInfo for the current thread is used.

Hinweis   Dieser Parameter ist z. B. erforderlich, um einen String, mit dem 1.000 dargestellt wird, in einen Double-Wert zu konvertieren, da 1.000 in verschiedenen Sprachen unterschiedlich dargestellt wird.Note For example, this parameter is necessary to convert a String that represents 1000 to a Double value, because 1000 is represented differently by different cultures.

Gibt zurück

Ein Objekt, das den gegebenen Wert als neuen Typ enthält.An object that contains the given value as the new type.

Hinweise

Reflektion modelliert die Zugriffsregeln für das allgemeine Typsystem.Reflection models the accessibility rules of the common type system. Wenn sich der Aufrufer z. b. in derselben Assembly befindet, benötigt der Aufrufer keine speziellen Berechtigungen für interne Member.For example, if the caller is in the same assembly, the caller does not need special permissions for internal members. Andernfalls benötigt ReflectionPermissionder Aufrufer.Otherwise, the caller needs ReflectionPermission. Dies entspricht der Suche nach Elementen, die geschützt, privat sind usw.This is consistent with lookup of members that are protected, private, and so on.

Das allgemeine Prinzip ist, ChangeType dass nur erweiternde Umwandlungen durchführen soll, bei denen Daten niemals verloren gehen.The general principle is that ChangeType should perform only widening coercions, which never lose data. Ein Beispiel für eine erweiternde Umwandlung ist das Umwandeln eines Werts, bei dem es sich um eine 32-Bit-Ganzzahl mit Vorzeichen handelt, zu einem Wert, der eine 64-Bit-GanzzahlAn example of a widening coercion is coercing a value that is a 32-bit signed integer to a value that is a 64-bit signed integer. Dies unterscheidet sich von einer einschränkenden Umwandlung, bei der Daten verloren gehen können.This is distinguished from a narrowing coercion, which may lose data. Ein Beispiel für eine einschränkende Umwandlung ist das Umwandeln einer 64-Bit-Ganzzahl mit Vorzeichen in eine 32-Bit-Ganzzahl mit Vorzeichen.An example of a narrowing coercion is coercing a 64-bit signed integer to a 32-bit signed integer.

In der folgenden Tabelle sind die vom Standard ChangeTypeausgeführten Umwandlungen aufgelistet.The following table lists the coercions performed by the default ChangeType.

QuelltypSource type ZieltypTarget type
Beliebiger TypAny type Der Basistyp.Its base type.
Beliebiger TypAny type Die Schnittstelle, die implementiert wird.The interface it implements.
CharChar UInt16, UInt32, Int32, UInt64, Int64, Single, DoubleUInt16, UInt32, Int32, UInt64, Int64, Single, Double
ByteByte Char, UInt16, Int16, UInt32, Int32, UInt64, Int64, Single, DoubleChar, UInt16, Int16, UInt32, Int32, UInt64, Int64, Single, Double
SByteSByte Int16, Int32, Int64, Single, DoubleInt16, Int32, Int64, Single, Double
UInt16UInt16 UInt32, Int32, UInt64, Int64, Single, DoubleUInt32, Int32, UInt64, Int64, Single, Double
Int16Int16 Int32, Int64, Single, DoubleInt32, Int64, Single, Double
UInt32UInt32 UInt64, Int64, Single, DoubleUInt64, Int64, Single, Double
Int32Int32 Int64, Single, DoubleInt64, Single, Double
UInt64UInt64 Single, DoubleSingle, Double
Int64Int64 Single, DoubleSingle, Double
SingleSingle DoubleDouble
Nicht VerweisNon-reference Nach Verweis.By-reference.

Gilt für: