Language Basics C# Book

When subclassing the generic type we can keep the generic type.

class Shape{
}
class Rectangle:Shape{

}

Or we can close the generic type by replacing the generic type with a concrete type.

class Shape
{
}
class Rectangle : Shape
{
}
Or we can add more generic parameters.

class Shape{
}
class Rectangle:Shape{

}