オブジェクト変数には、他の場所に格納されているデータへのポインターが含まれています。 そのデータの種類は、実行時に変更される可能性があります。 いつでも、 GetTypeCode メソッドを使用して現在の実行時の型を判断するか、 TypeOf 演算子 を使用して、現在の実行時の型が指定した型と互換性があるかどうかを確認できます。
オブジェクト変数が現在参照している正確な型を特定するには
オブジェクト変数で、 GetType メソッドを呼び出して、 System.Type オブジェクトを取得します。
Dim myObject As Object myObject.GetType()
System.Type クラスで、共有メソッド GetTypeCodeを呼び出して、オブジェクトの型のTypeCode列挙値を取得します。
Dim myObject As Object Dim datTyp As Integer = Type.GetTypeCode(myObject.GetType()) MsgBox("myObject currently has type code " & CStr(datTyp))
TypeCode列挙値は、対象の列挙メンバー (
Double
など) に対してテストできます。
オブジェクト変数の型が指定した型と互換性があるかどうかを判断するには
TypeOf
演算子を Is 演算子と組み合わせて使用して、TypeOf
...Is
式でオブジェクトをテストします。If TypeOf objA Is System.Windows.Forms.Control Then MsgBox("objA is compatible with the Control class") End If
TypeOf
...Is
式は、オブジェクトの実行時の型が指定した型と互換性がある場合にTrue
を返します。互換性の基準は、指定された型がクラス、構造体、またはインターフェイスのいずれであるかによって異なります。 一般に、オブジェクトが指定した型と同じ型であるか、継承されるか、または実装されている場合、型は互換性があります。 詳細については、「 TypeOf 演算子」を参照してください。
コードをコンパイルする
指定した型を変数または式にすることはできません。 クラス、構造体、インターフェイスなど、定義された型の名前である必要があります。 これには、 Integer
や String
などの組み込み型が含まれます。
こちらも参照ください
- GetType
- System.Type
- GetTypeCode
- TypeCode
- オブジェクト変数
- オブジェクト変数の値
- オブジェクト データ型
.NET