Prior to C# generics, everyone would code collections for their business objects by creating a collection base that implemented IEnumerable
IE:
publi
If you choose to create your own collection class you should check out the types in System.Collections.ObjectModel Namespace.
The namespace defines base classes thare are ment to make it easier for implementers to create a custom collections.