I give you an exampleimagine that you have a rectangle, its dimentions could be either int, double, long and so forthpublic class Rectangle <T>{ public Rectangle() { } public T width{get;set;} public T height{get;set;} . . .}So when the user defines his/her rectangle instance he/she also define the type of the width and the heightRectangle<int> oRectangle = new Rectangle();Rectangle<long> oRectangle = new Rectangle();Rectangle<double> oRectangle = new Rectangle();