It is called a type parameter constraint. Effectively it constraints what type T can be.
The type argument must be a reference
type; this applies also to any class,
interface, delegate, or array type.
Constraints on Type Parameters (C# Programming Guide)