Compiler Error CS0417

 

Updated: July 20, 2015

For the latest documentation on Visual Studio 2017 RC, see Visual Studio 2017 RC Documentation.

'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();  
}  
  

Constraints on Type Parameters

Show: