Binder.ChangeType(Object, Type, CultureInfo) Binder.ChangeType(Object, Type, CultureInfo) Binder.ChangeType(Object, Type, CultureInfo) Method

定義

指定されている Object を特定の Type に変更します。Changes the type of the given Object to the given 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

パラメーター

value
Object Object Object

新しい Type に変更するオブジェクト。The object to change into a new Type.

type
Type Type Type

value の変換後の新しい型。TypeThe new Type that value will become.

culture
CultureInfo CultureInfo CultureInfo

データ型の強制変換を制御するために使用する CultureInfo のインスタンス。An instance of CultureInfo that is used to control the coercion of data types. culturenull の場合は、現在のスレッドの CultureInfo が使用されます。If culture is null, the CultureInfo for the current thread is used.

メモ たとえば、このパラメーターでは、1000 を表す StringDouble の値に変換して指定する必要があります。これは、カルチャによって 1000 の表記が異なるためです。Note For example, this parameter is necessary to convert a String that represents 1000 to a Double value, because 1000 is represented differently by different cultures.

戻り値

指定されている値を新しい型で保持しているオブジェクト。An object that contains the given value as the new type.

注釈

リフレクションは、共通型システムのアクセシビリティ規則をモデル化します。Reflection models the accessibility rules of the common type system. たとえば、呼び出し元が同じアセンブリ内にある場合、呼び出し元は内部メンバーに対して特別なアクセス許可を必要としません。For example, if the caller is in the same assembly, the caller does not need special permissions for internal members. それ以外の場合、 ReflectionPermission呼び出し元にはが必要です。Otherwise, the caller needs ReflectionPermission. これは、protected、private などのメンバーの参照と一致します。This is consistent with lookup of members that are protected, private, and so on.

一般的な原則としChangeTypeて、では、データを失うことのない拡大変換のみを実行する必要があります。The general principle is that ChangeType should perform only widening coercions, which never lose data. 拡大型変換の例として、32ビット符号付き整数の値を64ビット符号付き整数値に強制型変換ます。An example of a widening coercion is coercing a value that is a 32-bit signed integer to a value that is a 64-bit signed integer. これは、データを失う可能性がある縮小変換とは区別されます。This is distinguished from a narrowing coercion, which may lose data. 縮小変換の例としては、64ビット符号付き整数から32ビット符号付き整数への強制型変換があります。An example of a narrowing coercion is coercing a 64-bit signed integer to a 32-bit signed integer.

既定ChangeTypeで実行される強制変換の一覧を次の表に示します。The following table lists the coercions performed by the default ChangeType.

変換元の型Source type 変換後の型Target type
任意の型Any type その基本型。Its base type.
任意の型Any type 実装するインターフェイス。The interface it implements.
CharChar UInt16、UInt32、Int32、UInt64、Int64、Single、DoubleUInt16, UInt32, Int32, UInt64, Int64, Single, Double
ByteByte Char、UInt16、Int16、UInt32、Int32、UInt64、Int64、Single、DoubleChar, UInt16, Int16, UInt32, Int32, UInt64, Int64, Single, Double
SByteSByte Int16、Int32、Int64、Single、DoubleInt16, Int32, Int64, Single, Double
UInt16UInt16 UInt32、Int32、UInt64、Int64、Single、DoubleUInt32, Int32, UInt64, Int64, Single, Double
Int16Int16 Int32、Int64、Single、DoubleInt32, Int64, Single, Double
UInt32UInt32 UInt64、Int64、Single、DoubleUInt64, Int64, Single, Double
Int32Int32 Int64、Single、DoubleInt64, Single, Double
UInt64UInt64 Single、DoubleSingle, Double
Int64Int64 Single、DoubleSingle, Double
SingleSingle 倍精度浮動小数点型Double
非参照Non-reference 参照渡し。By-reference.

適用対象