Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Ostrzeżenie kompilatora (poziom 2) CS0279

Wzorzec "nazwa typu" nie implementuje wzorca "nazwa wzorca". "nazwa metody" jest statyczna lub nie jest publiczna.

W języku C# istnieje kilka instrukcji, które opierają się na zdefiniowanych wzorcach, takich jak foreach i using. Na przykład foreach opiera się na klasie kolekcji implementowania wzorca wyliczalnego. Ten błąd występuje, gdy kompilator nie może dokonać dopasowania z powodu zadeklarowania static metody lub nie public. Metody we wzorcach muszą być wystąpieniami klas i być publiczne.

Przykład

Poniższy przykład generuje plik CS0279:

// 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  
    }  
}