Generics

Added in Framework version 1.2, motivated by Hejlsberg:

Classes, interfaces, delegates, and methods can depend on type parameters.

class X<T ,..>: .. where .. { .. }
interface X<T ,..>: .. where .. { .. }
delegate result X<T ,..> ( .. ) where .. ;
access result X<T ,..> ( .. ) where .. { .. }

Useful, e.g., to restrict containers and avoid casts and boxing.

System.Collections.Generic.

Constructed types expanded by JIT compiler.