Generics lader dig skrive klasser og metoder, der er parametriseret efter en type, og giver typesikkerhed og genbrug uden kodeduplikering eller casting. Constraints begrænser hvilke typer en generic parameter kan være, hvilket muliggør sikker brug af deres medlemmer. Generics er udbredt i C# (hele samlingsbiblioteket bruger dem).
Problemet som generics løser
=> arr[i];
=> arr[i];
x = Get([] { , , }, );
