Compilerwarnung (Stufe 2) CS0279
Aktualisiert: November 2007
Fehlermeldung
'Typname' implementiert das Muster 'Mustername' nicht. 'Methodenname' ist entweder statisch oder nicht öffentlich.
'type name' does not implement the 'pattern name' pattern. 'method name' is either static or not public.
Es gibt mehrere Anweisungen in C#, die auf definierten Mustern beruhen, z. B. foreach und using. Beispielsweise beruht foreach auf der Auflistungsklasse, mit der die Ienumerable-Schnittstelle implementiert wird. Dieser Fehler tritt auf, wenn der Compiler keine Übereinstimmung herstellen kann, weil eine Methode als static oder nicht als public deklariert wurde. Methoden in Mustern müssen Klasseninstanzen und public sein.
Beispiel
Im folgenden Beispiel wird der Fehler CS0279 generiert.
// CS0279.cs
using System;
using System.Collections;
public class myTest : IEnumerable
{
IEnumerator IEnumerable.GetEnumerator()
{
yield return 0;
}
internal IEnumerator GetEnumerator()
{
yield return 0;
}
public static void Main()
{
foreach (int i in new myTest()) {} // CS0279
}
}