Leer en inglés

Compartir a través de


Advertencia del compilador (nivel 2) CS0279

'nombre de tipo' no implementa el patrón 'nombre de patrón'. 'nombre de método' es estático o no público.

Hay varias instrucciones en C# que se basan en patrones definidos, como foreach y using. Por ejemplo, foreach se basa en la clase de colección que implementa el patrón enumerable. Este error se genera cuando el compilador no puede establecer la correspondencia porque se ha declarado un método como static o no public. Los métodos de los patrones tienen que ser obligatoriamente instancias de clases y públicos.

Ejemplo

El ejemplo siguiente genera el error CS0279:

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