Generics σας επιτρέπουν να γράψετε κλάσεις και μεθόδους παραμετροποιημένες από έναν τύπο, παρέχοντας ασφάλεια τύπου και επαναχρησιμότητα χωρίς διπλασιασμό κώδικα ή casting. Constraints περιορίζουν τι τύπους μπορεί να είναι μια παράμετρος generic, επιτρέποντας ασφαλή χρήση των μελών τους. Τα generics είναι διάχυτα στη C# (ολόκληρη η βιβλιοθήκη συλλογών τα χρησιμοποιεί).
Το πρόβλημα που λύνουν τα generics
=> arr[i];
=> arr[i];
x = Get([] { , , }, );
