Share via


new Constraint (C# Reference) 

The new constraint specifies that any type argument in a generic class declaration must have a public parameterless constructor. Apply this 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:

using System;
public class ItemFactory<T>
    where T : IComparable, new()
{
}

For more information , see Constraints on Type Parameters (C# Programming Guide).

C# Language Specification

For more information, see the following sections in the C# Language Specification:

  • 19.1.4 Constraints

See Also

Reference

C# Keywords
Operator Keywords (C# Reference)
System.Collections.Generic

Concepts

C# Programming Guide
Generics (C# Programming Guide)

Other Resources

C# Reference