型別 '<typeparametername>' 的 'Is' 運算元只能與 'Nothing' 相比較,因為 '<typeparametername>' 是沒有類別條件約束的型別參數

更新:2007 年 11 月

當定義型別參數但條件約束清單中沒有 Class (Visual Basic) 關鍵字或指定的類別名稱時,可以使用型別參數做為 Is 運算子 (Visual Basic) 的運算元。

Is 會比較兩個參考型別,以判斷它們是否指向記憶體中的同一個物件執行個體。它無法採用不是參考型別的運算元,除非另一個運算元是 Nothing (Visual Basic)

錯誤 ID:BC32052

若要更正這個錯誤

  • 如果您可以要求提供給此型別參數的型別引數一律需為參考型別,請將 Class 關鍵字或特定的類別名稱新增到型別參數的條件約束清單。

  • 如果您無法要求提供給此型別參數的型別引數一律需為參考型別,請將它從 Is 運算式中移除。您不能將它與具有 Is 運算子的其他參考型別相比較。

請參閱

概念

Visual Basic 中的泛型型別

實值型別和參考型別

Visual Basic 的比較運算子

參考

型別清單