Compilerwarnung (Stufe 2) CS0278
"Typ" implementiert das Muster "Mustername" nicht. "Methodenname" unterscheidet sich nicht eindeutig von "Methodenname".
Es gibt mehrere Anweisungen in C#, die auf definierten Muster aufsetzen, z. B. foreach
und using
. Beispielsweise ist die foreach
-Anweisung davon abhängig, dass die Auflistungsklasse das „enumerable“-Muster implementiert.
CS0278 kann auftreten, wenn der Compiler den Abgleich aufgrund von Mehrdeutigkeiten nicht vornehmen kann. Beispielsweise erfordert das „enumerable“-Muster, dass es eine Methode namens MoveNext
gibt, und der Code enthält möglicherweise zwei Methoden namens MoveNext
. Der Compiler versucht, die zu verwendende Schnittstelle zu finden, aber es wird empfohlen, dass Sie die Ursache für die Mehrdeutigkeit ermitteln und diese beheben.
Im folgenden Beispiel wird CS0278 generiert:
// CS0278.cs
using System.Collections.Generic;
public class myTest
{
public static void TestForeach<W>(W w)
where W: IEnumerable<int>, IEnumerable<string>
{
foreach (int i in w) {} // CS0278
}
}
Feedback zu .NET
.NET ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben: