Binder.ChangeType(Object, Type, CultureInfo) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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í.