Breyta

Deila með


new constraint (C# Reference)

The new constraint specifies that a type argument in a generic class or method declaration must have a public parameterless constructor. To use the new constraint, the type can't be abstract.

Apply the new constraint to a type parameter when a 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, you must specify it last:

public class ItemFactory2<T>
    where T : IComparable, new()
{  }

For more information, see Constraints on Type Parameters.

You can also use the new keyword to create an instance of a type or as a member declaration modifier.

The C# language reference documents the most recently released version of the C# language. It also contains initial documentation for features in public previews for the upcoming language release.

The documentation identifies any feature first introduced in the last three versions of the language or in current public previews.

Tip

To find when a feature was first introduced in C#, consult the article on the C# language version history.

C# language specification

For more information, see the Type parameter constraints section of the C# language specification.

See also