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 cannot 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, it must be specified 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.
C# language specification
For more information, see the Type parameter constraints section of the C# language specification.
See also
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for