class A where T:new()

轉自: https://www.cnblogs.com/FredWang/p/4284251.html

每次忘了都要上網搜索,在此記錄下,以備查看。

class A<T> where T:new()

  這是類型參數約束,where表名了對類型變量T的約束關係。where T:A 表示類型變量是繼承於A的,或者是A本省。where T: new()指明瞭創建T的實例應該使用的構造函數。

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

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

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

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

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

  where T: NameOfInterface                      T必須實現名爲NameOfInterface的接口

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章