In order to separate DataType from logic.
http://www.tutorialspoint.com/csharp/csharp_generics.htm
We usw generic type to seprate the data type for making data type as strong type which avoid boxing and unboxing .