Compiler Error CS0417

'identifier': cannot provide arguments when creating an instance of a variable type

This error occurs if a call to the new operator on a type parameter has arguments. The only constructor that can be called using the new operator on an unknown parameter type is a constructor with no arguments. If you need to call another constructor, consider using a class type constraint or interface constraint.

Example

The following example generates CS0417:

// CS0417
class C<T> where T : new()
{
    T type = new T(1);   // CS0417
}