Sdílet prostřednictvím


Binder.ChangeType(Object, Type, CultureInfo) Metoda

Definice

Změní typ daného Object na danou 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

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

Reflexní modely pravidel přístupnosti společného systému typů. Pokud je například volající ve stejném sestavení, 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ů, kteří jsou chráněni, privátní atd.

Obecným principem je, že ChangeType by se měly provádět pouze rozšiřující donucování, které nikdy neztratí data. Příkladem rozšiřujícího vynucení je vynucení hodnoty, která je 32bitové celé číslo se signedýmm systémem, na hodnotu, která je 64bitové celé číslo. Tím se liší od zužujícího donucování, při kterém může dojít ke ztrátě dat. Příkladem zužujícího převodu je vynucení 64bitového celého čísla se signedýmm systémem 32bitového celého čísla se sadou se sadou.

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

Typ zdroje Typ cíle
Libovolný typ Jeho 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 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 Jednolůžkový pokoj, dvoulůžkový pokoj
Int64 Jednolůžkový pokoj, dvoulůžkový pokoj
Jednoduché dvojité
Bez odkazu 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 1000, na Double hodnotu, protože 1000 je reprezentován různými jazykovými verzemi. Výchozí pořadač takové řetězcové převody neprovádí.

Platí pro