new Constraint (C# Reference)
Visual Studio 2008
The new constraint specifies that any type argument in a generic class declaration must have a public parameterless constructor. To use the new constraint, the type cannot be abstract.
Apply the new constraint to a type parameter when your generic class creates new instances of the type, as shown in the following example:
class ItemFactory<T> where T : new() { public T GetNewItem() { return new T(); } }
When you use the new() constraint with other constraints, it must be specified last:
public class ItemFactory2<T> where T : IComparable, new() { }
For more information, see Constraints on Type Parameters (C# Programming Guide).
For more information, see the C# Language Specification.
4.4.3 Satisfying constraints
10.1.6 Type parameter constraints