Generics is a feature that has been added to .NET2.0. I have been recently attending lectures on Generics where I heard people saying it is a .NET version of C++ Templates. But these articles contrast on this. From the explanation given I am now in sync with the fact that Templaets and Generics have a very minimal overlapping in their functionality else are different from each other. Read the articles at Are Generics in .NET like Templates in C++?, Comparing .NET Generics and C++ Templates and Templates & Generics.