我想在VB.NET中創建一個集合,但我只希望它接受某種類型的對象。例如,我想創建一個名爲「FooCollection」的類,它以各種方式充當集合,但只接受類型爲「Foo」的對象。VB.NET強類型集合
我想我可以做到這一點使用仿製藥,使用的語法如下:
Public Class FooCollection(Of type As Foo)
Inherits CollectionBase
...
End Class
,但我得到當我編譯它,我「必須實現一個默認的訪問」錯誤,因此顯然有什麼東西不見了。我不想指定它在我實例化時接受的類型 - 我希望FooCollection本身指定它只接受Foo對象。我已經看到它在C#中使用強類型列表完成,所以我正在尋找的可能是VB.NET語法。
感謝您的幫助!
編輯:謝謝你的答案。這將做到這一點,但我想有CLASSTYPE名爲一定的方式,我其實只是做正是我一直在尋找與下面的代碼:
Public Class FooCollection
Inherits List(Of Foo)
End Class
這要看他在做什麼。列表旨在供應用程序代碼內部使用。您應該避免編寫接受或返回列表的公共API,而應考慮使用超類或集合接口。 –
2012-09-19 10:28:32