Leggere in inglese

Condividi tramite


Avviso del compilatore (livello 2) CS0279

'type name' non implementa il modello 'pattern name'. 'method name' è statico o non pubblico.

Molte istruzioni in C# si basano su modelli definiti, ad esempio foreach e using. Ad esempio, foreach si basa sulla classe di raccolte che implementa il modello enumerabile. Questo errore si verifica quando il compilatore non riesce a trovare la corrispondenza perché un metodo è dichiarato static o non public. I metodi nei modelli devono essere istanze di classi e ed essere pubblici.

Esempio

L'esempio seguente genera l'errore 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  
    }  
}