Generics C#

public class GenericList
{
    void Add(T input) { }
}
class TestGenericList
{
    private class ExampleClass { }
    static void Main()
    {
        // Declare a list of type int.
        GenericList list1 = new GenericList();
        // Declare a list of type string.
        GenericList list2 = new GenericList();
        // Declare a list of type ExampleClass.
        GenericList list3 = new GenericList();
    }
}