Generikler, bir tür tarafından parametreleştirilmiş sınıflar ve metotlar yazmanıza olanak sağlayarak, tür güvenliği ve yeniden kullanılabilirlik sunmakta, kod tekrarlaması ya da tür dönüştürme gerektirmemektedir. Kısıtlamalar, bir genel parametrenin hangi türlerde olabileceğini sınırlandırarak, üyelerinin güvenli şekilde kullanılmasını sağlar. Generikler C# içinde yaygındır (tüm koleksiyonlar kütüphanesi bunları kullanır).
Generiklerin çözdüğü sorun
=> arr[i];
=> arr[i];
x = Get([] { , , }, );
