次の方法で共有


方法: オブジェクト変数が参照する型を決定する (Visual Basic)

オブジェクト変数には、他の場所に格納されているデータへのポインターが含まれています。 そのデータの種類は、実行時に変更される可能性があります。 いつでも、 GetTypeCode メソッドを使用して現在の実行時の型を判断するか、 TypeOf 演算子 を使用して、現在の実行時の型が指定した型と互換性があるかどうかを確認できます。

オブジェクト変数が現在参照している正確な型を特定するには

  1. オブジェクト変数で、 GetType メソッドを呼び出して、 System.Type オブジェクトを取得します。

    Dim myObject As Object
    myObject.GetType()
    
  2. 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 演算子」を参照してください。

コードをコンパイルする

指定した型を変数または式にすることはできません。 クラス、構造体、インターフェイスなど、定義された型の名前である必要があります。 これには、 IntegerStringなどの組み込み型が含まれます。

こちらも参照ください