C#泛型類的類型約束

是使用泛型時,T默認狀況下是不能夠被初始化的,只能經過傳值來賦值,這個時候可使用類型約束來保證T是能夠被約束的。函數

.NET支持的類型參數約束有如下五種:blog

where T: struct                          //T必須是一個結構類型

  where T: class                           //T必須是一個類(class)類型,不是結構(structure)類型

  where T: new()                           //T必需要有一個無參構造函數

  where T: NameOfBaseClass                 //T必須繼承名爲NameOfBaseClass的類

  where T: NameOfInterface                 //T必須實現名爲NameOfInterface的接口
相關文章
相關標籤/搜索