The generic type is added to the C # language and the Common Language Runtime (CLR) of version 2.0. Generics introduce the concept of type parameters. net Framework, type parameters make it possible to design the following classes and Methods: these classes and Methods delay one or more types until the client Code declares and instantiate the class or method. For example, by using the generic type parameter T, you can write a single class that can be used by other client code without introducing the cost or risk of force conversion or packing during runtime, as shown below:
// Declare the generic class. public class genericlist <t> {void add (T input) {}} class testgenericlist {private class exampleclass {} static void main () {// declare a list of Type Int. genericlist <int> list1 = new genericlist <int> (); // declare a list of Type string. genericlist <string> list2 = new genericlist <string> (); // declare a list of Type exampleclass. genericlist <exampleclass> list3 = new genericlist <exampleclass> ();}}