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 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á.