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 by using the new operator on an unknown parameter type is a constructor that has no arguments. If you need to call another constructor, consider using a class type constraint or interface constraint.


The following example generates CS0417:

// CS0417  
class ExampleClass<T> where T : new()  
    // The following line causes CS0417.  
    T instance1 = new T(1);
    // The following line doesn't cause the error.  
    T instance2 = new T();  

See also