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.
- Stellen Sie nur eine Implementierung für jede Methode bereit.
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;
}
}
Feedback zu .NET
.NET ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben: