Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
No overload for method 'method' takes 'number' arguments
A call was made to a class method, but there is no form of the method that takes the necessary number of arguments.
CS1501 could occur if you are calling a method on a class in a referenced assembly and if that method has default values on one or more of its parameters. C# does not let you create methods with a default value on a parameter, but another language that targets the runtime might. If a parameter (in a method in a referenced assembly) has a default value, you must still call the method and explicitly pass all parameters.
Example
The following sample generates CS1501.
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
ExampleClass ec = new ExampleClass();
ec.ExampleMethod();
ec.ExampleMethod(10);
// The following line causes compiler error CS1501 because
// ExampleClass does not contain an ExampleMethod that takes
// two arguments.
ec.ExampleMethod(10, 20);
}
}
// ExampleClass defines two methods, one that has no parameters and
// one that has a single parameter.
class ExampleClass
{
public void ExampleMethod()
{
Console.WriteLine("Zero parameters");
}
public void ExampleMethod(int i)
{
Console.WriteLine("One integer parameter.");
}
}
}
Change History
Date |
History |
Reason |
---|---|---|
July 2009 |
Replaced the example. |
Customer feedback. |