Compiler Error CS1940
Beberapa implementasi pola kueri ditemukan untuk jenis sumber 'type'. Panggilan ambigu ke 'method'.
Kesalahan ini dihasilkan saat beberapa implementasi metode kueri ditentukan dan compiler tidak dapat membedakan mana yang terbaik untuk kueri itu. Dalam contoh berikut, kedua versi Select
memiliki tanda tangan yang sama, karena keduanya menerimanya int
sebagai parameter input dan memiliki int
sebagai nilai pengembalian.
- Berikan hanya satu implementasi untuk setiap metode.
Kode berikut menghasilkan 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;
}
}
Umpan balik .NET
.NET adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik: