Binder.ChangeType(Object, Type, CultureInfo) Methode

Definitie

Hiermee wijzigt u het type van de opgegeven ObjectType.

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

Parameters

value
Object

Het object dat moet worden gewijzigd in een nieuwe Type.

type
Type

Het nieuwe Typevalue dat zal worden.

culture
CultureInfo

Een exemplaar hiervan CultureInfo wordt gebruikt om de dwang van gegevenstypen te beheren. Als culture dat het is null, wordt de CultureInfo voor de huidige thread gebruikt.

Retouren

Een object met de opgegeven waarde als het nieuwe type.

Opmerkingen

Weerspiegelingsmodellen van de toegankelijkheidsregels van het algemene typesysteem. Als de aanroeper zich bijvoorbeeld in dezelfde assembly bevindt, heeft de aanroeper geen speciale machtigingen nodig voor interne leden. Anders heeft de beller het nodig ReflectionPermission. Dit is consistent met het opzoeken van leden die zijn beveiligd, privé, enzovoort.

Het algemene principe is dat ChangeType alleen verbreidingsfouten moeten worden uitgevoerd, die nooit gegevens verliezen. Een voorbeeld van een verbreedende dwang is het coerceren van een waarde die een 32-bits geheel getal is dat is ondertekend naar een waarde die een 64-bits ondertekend geheel getal is. Dit wordt onderscheiden van een vermalende dwang, waardoor gegevens verloren kunnen gaan. Een voorbeeld van een beperkte coercion is het coerceren van een 64-bits ondertekend geheel getal naar een 32-bits ondertekend geheel getal.

De volgende tabel bevat de dwangacties die standaard ChangeTypeworden uitgevoerd.

Bronsoort Doeltype
Alle soorten Het basistype.
Alle soorten De interface die wordt geïmplementeerd.
Char UInt16, UInt32, Int32, UInt64, Int64, Single, Double
Byte Char, UInt16, Int16, UInt32, Int32, UInt64, Int64, Single, Double
SByte Int16, Int32, Int64, Enkel, Dubbel
UInt16 UInt32, Int32, UInt64, Int64, Single, Double
Int16 Int32, Int64, Enkel, Dubbel
UInt32 UInt64, Int64, Enkel, Dubbel
Int32 Int64, Enkel, Dubbel
UInt64 Enkel, Dubbel
Int64 Enkel, Dubbel
Single Double
Niet-verwijzing Ter referentie.

Als een binder-implementatie toestaat dat tekenreekswaarden worden geconverteerd naar numerieke typen, is de culture parameter nodig om een tekenreeks te converteren die 1000 vertegenwoordigt naar een Double waarde, omdat 1000 anders wordt weergegeven door verschillende culturen. De standaardbinding doet dergelijke tekenreeksen niet.

Van toepassing op