Lezen in het Engels

Delen via


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 .

Deze fout corrigeren

  1. Geef slechts één implementatie op voor elke methode.

Opmerking

Met de volgende code wordt CS1940 gegenereerd:

C#
// 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;  
    }  
}  

Zie ook