Ошибка компилятора CS1940
Обнаружено несколько реализаций шаблона запроса для типа источника "тип". Неоднозначный вызов метода "метод".
Эта ошибка возникает в том случае, если определено несколько реализаций метода запроса, и компилятор не может выбрать, какой из них лучше всего использовать для запроса. В следующем примере обе версии Select
имеют одинаковые сигнатуры, так как они принимают одно значение int
в качестве входного параметра и имеют int
в качестве возвращаемого значения.
- Предоставьте только одну реализацию для каждого метода.
Следующий код приводит к возникновению ошибки CS1940:
// cs1940.cs
using System; //must include explicitly for types defined in 3.5
class Test
{
public delegate int Dele(int x);
int num = 0;
public int Select(Func<int, int> d)
{
return d(this.num);
}
public int Select(Dele d) // CS1940
{
return d(this.num) + 1;
}
public static void Main()
{
var q = from x in new Test()
select x;
}
}
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв: