物件變數包含儲存於其他地方的資料指標。 該資料類型可以在執行階段期間變更。 您可以隨時使用 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))
您可以針對感興趣的列舉成員 (例如
Double
) 來測試 TypeCode 列舉值。
判斷物件變數的類型是否與所指定類型相容
搭配 Is 運算子一起使用
TypeOf
運算子,以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
。