Binder.ChangeType(Object, Type, CultureInfo) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定した Object の型を指定した 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
パラメーター
- value
- Object
新しい Typeに変更するオブジェクト。
- type
- Type
Typeになる新しいvalue。
- culture
- CultureInfo
データ型の強制型の制御に使用される CultureInfo のインスタンス。
cultureがnullされている場合は、現在のスレッドのCultureInfoが使用されます。
返品
指定した値を新しい型として格納するオブジェクト。
注釈
リフレクションは、共通型システムのアクセシビリティ ルールをモデル化します。 たとえば、呼び出し元が同じアセンブリ内にある場合、呼び出し元は内部メンバーに対する特別なアクセス許可を必要としません。 それ以外の場合、呼び出し元には ReflectionPermissionが必要です。 これは、保護されているメンバー、プライベートメンバーなどの参照と一致します。
一般的な原則は、 ChangeType は、データを失わない拡大強制型変換のみを実行する必要があるということです。 拡大強制型変換の例として、32 ビット符号付き整数である値を 64 ビット符号付き整数の値に強制変換します。 これは、データが失われる可能性がある縮小強制とは区別されます。 縮小強制の例として、64 ビット符号付き整数を 32 ビット符号付き整数に強制変換します。
次の表に、既定の ChangeTypeによって実行される強制型指定の一覧を示します。
| ソースの種類 | ターゲットの種類 |
|---|---|
| 任意の型 | その基本型。 |
| 任意の型 | 実装するインターフェイス。 |
| 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 | シングル、ダブル |
| Int64 | シングル、ダブル |
| 単 | Double |
| 非参照 | 参照による。 |
バインダーの実装で文字列値を数値型に強制変換できる場合、1000 を表す文字列をculture値に変換するには、Double パラメーターが必要です。1000 はカルチャによって異なる方法で表されるためです。 既定のバインダーでは、このような文字列強制型変換は行われません。