Compilerfehler CS1940
Für den Quelltyp "Typ" wurden mehrere Implementierungen des Abfragemusters gefunden. Mehrdeutiger Aufruf von "Methode".
Dieser Fehler wird generiert, wenn mehrere Implementierungen einer Abfragemethode definiert sind, und der Compiler nicht eindeutig ermitteln kann, welche am besten für die Abfrage verwendet werden soll. Im folgenden Beispiel haben beide Versionen von Select
dieselbe Signatur, da beide ein int
als Eingabeparameter akzeptieren und int
als Rückgabewert haben.
So beheben Sie diesen Fehler
- Stellen Sie nur eine Implementierung für jede Methode bereit.
Beispiel
Mit dem folgenden Code wird CS1940 generiert:
// 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;
}
}
Siehe auch
Zusammenarbeit auf GitHub
Die Quelle für diesen Inhalt finden Sie auf GitHub, wo Sie auch Issues und Pull Requests erstellen und überprüfen können. Weitere Informationen finden Sie in unserem Leitfaden für Mitwirkende.