
Generics in the .NET
Framework is a programming technique that allows you to create a
"generic" (meaning that it's not tied to a specific type) class,
structure or method. The type, which is in this case "an argument", is specified when that element is used. What's interesting,
and this is another advantage of Generics in .NET, is that you can restrict that type
by specifying, for example, that it has to implement a certain interface or have a parameterless constructor.
This concept allows
for more type safety (the type is known when the generic element is being used), while
promoting reuse (you create an element that's not tied to a specific type).