HOW TO:決定物件變數參考的型別

更新:2007 年 11 月

物件變數包含儲存在任意位置的資料指標 (Pointer to Data)。在執行階段期間可變更該資料的型別。在任何時間,都可使用 GetTypeCode 方法來判斷目前的執行階段型別,或使用 TypeOf 運算子 (Visual Basic) 來找出目前的執行階段型別是否與所指定的型別相容。

若要判斷物件變數目前參考的確切型別

  1. 在物件變數上,呼叫 GetType 方法來擷取 System.Type 物件。

    Dim myObject As Object
    myObject.GetType()
    
  2. System.Type 類別 (Class) 上,呼叫共用方法 GetTypeCode 來擷取該物件型別的 TypeCode 列舉值。

    Dim myObject As Object
    Dim datTyp As Integer = Type.GetTypeCode(myObject.GetType())
    MsgBox("myObject currently has type code " & CStr(datTyp))
    

    可根據感興趣的列舉型別 (Enumeration) 成員 (例如 Double),來測試 TypeCode 列舉值。

若要判斷物件變數型別是否與所指定的型別相容

  • 將 TypeOf 運算子與 Is 運算子 (Visual Basic) 搭配使用,即可使用 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 運算子 (Visual Basic)

編譯程式碼

注意所指定的型別不可是變數或運算式。而必須是已定義型別 (例如類別、結構或介面) 的名稱。這包括內建 (Intrinsic) 型別,例如 Integer 和 String。

請參閱

概念

Visual Basic 中的物件變數

物件變數值

參考

Object 資料型別

GetType

System.Type

GetTypeCode

TypeCode