Compilerfehler CS1501

Keine Überladung für die "Methode"-Methode nimmt "Anzahl" Argumente an.

Eine Klassenmethode wurde aufgerufen, aber keine Form der Methode nimmt die erforderliche Anzahl von Argumenten an.

CS1501 kann auftreten, wenn Sie für eine Klasse in einer Assembly, auf die verwiesen wurde, eine Methode aufrufen und für einen oder mehrere der Parameter dieser Methode Standardwerte verwendet wurden. In C# können keine Methoden mit Standardwerten für Parameter erstellt werden. In einer anderen Sprache, die die Runtime einbindet, ist dies jedoch u. U. möglich. Wenn ein Parameter (in einer Methode in einer Assembly, auf die verwiesen wird) einen Standardwert enthält, müssen Sie die Methode trotzdem aufrufen und alle Parameter explizit übergeben.

Beispiel

Im folgenden Beispiel wird der Fehler CS1501 generiert.

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.");
        }
    }
}