Build Typesafe Generic Classes
Programmers often face a difficult choice. On one hand,
it's keenly important to build solutions that are as generic as
possible, so that they can be reused in different scenarios. For
example, why build a CustomerCollection
class that accepts only
objects of type Customer
when you can
build a generic Collection
class that
can be configured to accept objects of any type? On the other hand,
performance and type safety considerations can make a generic solution
less desirable. If you use a generic .NET Collection
class to store Customer
objects, for example, how can you be
sure that someone won't accidentally insert another type of object into
the collection, causing an insidious problem later on?
Note
Need to create a class that's flexible enough to work with any type of object, but able to restrict the objects it accepts in any given instance? With generics, VB has the perfect solution.
Visual Basic 2005 and .NET 2.0 provide a solution called generics. Generics are classes that are parameterized by type. In other words, generics allow you to create a class template that supports any type. When you instantiate that class, you specify the type you want to use, and from that point on, your object is "locked in" to the type you chose.
How do I do that?
An example of where the use of generics makes great sense is the
System.Collections.ArrayList
class.
ArrayList
is an all-purpose, dynamically self-sizing collection. It can hold ordinary .NET objects or ...
Get Visual Basic 2005: A Developer's Notebook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.