Generics, C# dili ve CLR (Common Language Runtime) 'nin 2.0 versiyonu ile geldi. Generics .NET Framework'ü, sınıf veya methodun tanımlanıp, client kodu tarafından başlatılana kadar bir veya birden fazla tipin tanımlanmasını erteleyen sınıf veya methodların tasarlanmasına olanak sağlayan, tip parametre konseptiyle, tanıştırdı. Örneğin bir generic tip pametresi T kullanarak, diğer clientın casting ve boxing operasyonlarının maliyetini ve risklerini düşünmeden kullanabileceği sınıflar yazabilirsiniz. Örnek kod aşağıdadır.
// Generic Classı tanımlayınpublic class GenericList{void Add(T input) { }}class TestGenericList{private class OrnekSinif { }static void Main(){// int tipinde bir liste tanımlayınGenericList<int> list1 = new GenericList<int>();// string tipinde bir liste tanımlayınGenericList<string> list2 = new GenericList<string>();// OrnekSinif tipinde bir liste tanımlayınGenericListlist3 = new GenericList (); }}