次の方法で共有


Binder.ChangeType メソッド

指定されているオブジェクトの型を特定の型に変更します。

Public MustOverride Function ChangeType( _
   ByVal value As Object, _   ByVal type As Type, _   ByVal culture As CultureInfo _) As Object
[C#]
public abstract object ChangeType(objectvalue,Typetype,CultureInfoculture);
[C++]
public: virtual Object* ChangeType(Object* value,Type* type,CultureInfo* culture) = 0;
[JScript]
public abstract function ChangeType(
   value : Object,type : Type,culture : CultureInfo) : Object;

パラメータ

  • value
    新しい型に変更する値。
  • type
    value の変換後の新しい型。
  • culture
    データ型の強制変換を制御するために使用する CultureInfo のインスタンス。culture が null 参照 (Visual Basic では Nothing) の場合は、現在のスレッドの CultureInfo が使用されます。

メモ   たとえば、このパラメータでは、1000 を表す StringDouble 値に変換して指定する必要があります。これは、カルチャによって 1000 の表記が異なるためです。

戻り値

指定されている値を新しい型で保持しているオブジェクト。

解説

リフレクションは、共通の型システムにおけるアクセスに関する規則をモデル化します。たとえば、呼び出し元が同一アセンブリ内にある場合、呼び出し元に内部メンバに対する特別なアクセス許可は必要ありません。それ以外の場合は、呼び出し元に 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
非参照渡し 参照渡し

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard

参照

Binder クラス | Binder メンバ | System.Reflection 名前空間