#323 – A Generic Class is a Template for a Class
May 12, 2011 5 Comments
A generic class is a class that takes one or more type parameters, which it then uses in the definition of the class. It can be thought of as a template for a class.
public class ThingContainer<TParam>
{
private TParam theThing;
public void SetThing(TParam newValue)
{
theThing = newValue;
}
}
You use a generic class by specifying a type for each of the type parameters.
ThingContainer<int> intContainer = new ThingContainer<int>();
intContainer.SetThing(5);
ThingContainer<Dog> dogContainer = new ThingContainer<Dog>();
dogContainer.SetThing(new Dog("Kirby", 5));
In this example, we use a generic class to store an object of an arbitrary type. We use one version of the class to store an int and another to store a Dog. Notice that wherever we use the name of the generic class to define an instance, we need to supply a typename (e.g. int, Dog) as a parameter.
Pingback: #324 – A Generic Class Can Have More than One Type Parameter « 2,000 Things You Should Know About C#
Pingback: #326 – Generic Type vs. Constructed Type « 2,000 Things You Should Know About C#
Pingback: #534 – What Good Are Generics? « 2,000 Things You Should Know About C#
Pingback: #535 – Creating a Generic Struct « 2,000 Things You Should Know About C#
Pingback: #536 – Using a Generic Interface « 2,000 Things You Should Know About C#