Binder.ChangeType(Object, Type, CultureInfo) Metoda

Definice

Změní typ daného zadaného ObjectTypesouboru .

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

Parametry

value
Object

Objekt, který se má změnit na nový Type.

type
Type

Type Nová, která value se stane.

culture
CultureInfo

Instance CultureInfo , která se používá k řízení převodu datových typů. Pokud culture je null, použije se CultureInfo pro aktuální vlákno.

Návraty

Objekt, který obsahuje danou hodnotu jako nový typ.

Poznámky

Reflexe modeluje pravidla přístupnosti společného systému typů. Pokud je například volající ve stejném sestavení, volající nepotřebuje zvláštní oprávnění pro interní členy. Jinak volající potřebuje ReflectionPermission. To je konzistentní s vyhledáváním členů, které jsou chráněné, soukromé atd.

Obecný princip je, že ChangeType by měl provádět pouze rozšiřující převody, které nikdy neztratí data. Příkladem rozšiřujícího převodu je vynucení hodnoty, která je 32bitové celé číslo podepsané na hodnotu, která je 64bitové celé číslo se signedm. Liší se od zužujícího převodu, který může ztratit data. Příkladem zužujícího převodu je vynucení 64bitového celého čísla podepsaného na 32bitové celé číslo se signedm.

Následující tabulka uvádí převody provedené ve výchozím nastavení ChangeType.

Typ zdroje Typ cíle
Libovolný typ Základní typ.
Libovolný typ Rozhraní, které implementuje.
Char UInt16, UInt32, Int32, UInt64, Int64, Single, Double
Byte Char, UInt16, Int16, UInt32, Int32, UInt64, Int64, Single, Double
SByte Datové typy: Int16, Int32, Int64, Single, Double
UInt16 UInt32 (32bit neznaménkové celé číslo), Int32 (32bit celé číslo), UInt64 (64bit neznaménkové celé číslo), Int64 (64bit celé číslo), Single (jednopřesný typ), Double (dvojpřesný typ)
Int16 Int32, Int64, Single, Double
UInt32 UInt64, Int64, Single, Double
Int32 Int64, Single, Double
UInt64 Jednolůžkový, Dvoulůžkový
Int64 Jednolůžkový, Dvoulůžkový
Single Double
Odkazy na Podle odkazu.

Pokud implementace pořadače umožňuje převod řetězcových hodnot na číselné typy, culture je parametr nezbytný k převodu řetězce, který představuje hodnotu 1000 na Double hodnotu, protože 1000 je reprezentován odlišně různými jazykovými verzemi. Výchozí pořadač takové převody řetězců nedělá.

Platí pro