次の方法で共有


Binder.ChangeType(Object, Type, CultureInfo) メソッド

定義

指定されている 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 のインスタンス。 culturenull の場合は、現在のスレッドの 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 はカルチャによって異なる方法で表されるためです。 既定のバインダーは、このような文字列の強制変換を行いません。

適用対象