Compilerfout CS1940
Er zijn meerdere implementaties van het querypatroon gevonden voor het brontype 'type'. Dubbelzinnige aanroep naar 'methode'.
Deze fout wordt gegenereerd wanneer er meerdere implementaties van een querymethode worden gedefinieerd en de compiler kan niet ondubbelzinnig bepalen welke het beste kan worden gebruikt voor de query. In het volgende voorbeeld hebben beide versies dezelfde Select
handtekening, omdat ze beide een int
als invoerparameter accepteren en als een retourwaarde hebben int
.
- Geef slechts één implementatie op voor elke methode.
Met de volgende code wordt CS1940 gegenereerd:
// 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-feedback
.NET is een open source project. Selecteer een koppeling om feedback te geven: