With CollectionBase, you need to expand to provide the functionality that generic tools do initially. You must write in all the plumbing to take into account the type safety in the subclasses that you create from it. Generics are not necessary. Do you need to convert to generics? It depends on your situation, but I will not use it in the future.
In addition, using generics instead of the collection database gives you all the extension methods written in .net to simplify common tasks. MS insists on the use of generics and is actively developing their adoption. They are likely to continue to develop their functionality.
source share