VB.NET でコレクションを作成したいのですが、特定の種類のオブジェクトのみを受け入れるようにしたいと考えています。たとえば、あらゆる点でコレクションのように機能する「FooCollection」というクラスを作成したいと考えていますが、「Foo」タイプのオブジェクトのみを受け入れます。
次の構文を使用して、ジェネリックを使用してこれを実行できると思いました。
Public Class FooCollection(Of type As Foo)
Inherits CollectionBase
...
End Class
しかし、コンパイルすると、「デフォルトのアクセサーを実装する必要があります」というエラーが表示されるため、明らかに何かが欠けています。インスタンス化するときに受け入れる型を指定したくありません - FooCollection 自体が Foo オブジェクトのみを受け入れるように指定したいのです。厳密に型指定されたリストを使用して C# で実行されているのを見たことがあるので、探しているのは VB.NET 構文だけかもしれません。
ご協力いただきありがとうございます!
編集:答えてくれてありがとう。それはできますが、クラスタイプに特定の方法で名前を付けたかったので、実際に次のコードで探していたものを正確に達成しました。
Public Class FooCollection
Inherits List(Of Foo)
End Class