If you're using .NET 2.0 as your profile says then you shouldn't be inheriting CollectionBase at all. You should be inheriting System.Collections.ObjectModel.Collection(Of T), where T is the type of the items the collection will store. For instance, to create a strongly-typed collection of Thing objects you declare the class like this:
Code:
Public Class ThingCollection
Inherits System.Collections.ObjectModel.Collection(Of Thing)
End Class
That's all you need. Unlike the CollectionBase class there's no need to declare any members at all if you only want standard functionality because it's ALL inherited from Collection(Of Thing). Only if you need to do extra processing when an item is added or the like do you need to add any code at all.