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
value
の変換後の新しい型。Type
- 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 | Single、Double |
Int64 | Single、Double |
Single | Double |
非参照 | 参照による。 |
バインダーの実装で文字列値を数値型に強制変換できる場合、 culture
1000 を表す文字列を値に Double 変換するには パラメーターが必要です。1000 はカルチャによって異なる方法で表されるためです。 既定のバインダーは、このような文字列の強制変換を行いません。
適用対象
.NET