C# CS1501 No overload for method takes arguments
Ошибка CS1501 No overload for method takes arguments означает, что метод должен принимать определенное число аргументов, но либо не заданы аргументы в методе, либо идёт попытка вызвать метод без нужных аргументов.
Рассмотрим два примера, иллюстрирующих обе ситуации:
Ситуация 1. Не задан аргумент в методе:
using System;
public class Program
{
public static void Main()
{
Console.WriteLine(Test1(«abc»));
}
static string Test1(){
return «1»;
}
}
Есть метод Test1 и у него не задан аргумент, поэтому выдается ошибка «Compilation error (line *, col *): No overload for method 'Test1' takes 1 arguments».
Ситуация 2.
using System;
public class Program
{
public static void Main()
{
Console.WriteLine(Test1());
}
static string Test1(string a){
return a;
}
}
Теперь не забыли задать аргумент в методе, но не указали аргумент при вызове метода Test1, что также приведёт к ошибке «Compilation error (line *, col *): No overload for method 'Test1' takes 0 arguments».
А теперь пофиксим ошибку, приведем правильный вариант:
using System;
public class Program
{
public static void Main()
{
Console.WriteLine(Test1(«test»));
}
static string Test1(string a){
return a;
}
}