Binder.ChangeType(Object, Type, CultureInfo) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Ändrar typen av angiven Object till den angivna 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);
abstract member ChangeType : obj * Type * System.Globalization.CultureInfo -> obj
Public MustOverride Function ChangeType (value As Object, type As Type, culture As CultureInfo) As Object
Parametrar
- value
- Object
Objektet som ska ändras till en ny Type.
- type
- Type
Det nya Type som kommer att value bli.
- culture
- CultureInfo
En instans av CultureInfo detta används för att kontrollera tvånget av datatyper. Om culture är nullCultureInfo används för den aktuella tråden.
Returer
Ett objekt som innehåller det angivna värdet som ny typ.
Kommentarer
Reflektion modellerar tillgänglighetsreglerna för det gemensamma typsystemet. Om anroparen till exempel är i samma sammansättning behöver anroparen inte särskilda behörigheter för interna medlemmar. Annars behöver ReflectionPermissionanroparen . Detta överensstämmer med uppslag av medlemmar som är skyddade, privata och så vidare.
Den allmänna principen är att ChangeType endast ska utföra bredare tvång, som aldrig förlorar data. Ett exempel på ett bredare tvång är att tvinga fram ett värde som är ett 32-bitars signerat heltal till ett värde som är ett 64-bitars signerat heltal. Detta skiljer sig från ett begränsat tvång som kan förlora data. Ett exempel på ett begränsat tvång är att tvinga ett 64-bitars signerat heltal till ett 32-bitars signerat heltal.
I följande tabell visas de tvång som utförs som standard ChangeType.
| Typ av källa | Måltyp |
|---|---|
| Alla typer | Dess bastyp. |
| Alla typer | Gränssnittet som implementeras. |
| Char | UInt16, UInt32, Int32, UInt64, Int64, Single, Double |
| byte | Char, UInt16, Int16, UInt32, Int32, UInt64, Int64, Single, Double (These are standard integer and floating-point data types used in programming.) |
| 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, Enkel, Dubbel |
| UInt64 | Enkel, Dubbel |
| Int64 | Enkel, Dubbel |
| Single | Double |
| Ej referens | Efter referens. |
Om en bindemedelsimplementering tillåter tvång av strängvärden till numeriska typer är parametern culture nödvändig för att konvertera en sträng som representerar 1 000 till ett Double värde, eftersom 1 000 representeras på olika sätt av olika kulturer. Standardbindningen utför inte sådana strängtvång.