Lire en anglais

Partager via


Avertissement du compilateur (niveau 2) CS0279

'nom_type' n’implémente pas le modèle 'nom_modèle'. 'nom_méthode' est static ou non public.

Il existe plusieurs instructions en langage C# qui reposent sur des modèles définis, telles que foreach et using. Par exemple, foreach repose sur la classe de collection qui implémente le modèle énumérable. Cette erreur se produit lorsque le compilateur est incapable d’effectuer la correspondance car une méthode est déclarée static ou non public. Les méthodes dans les modèles doivent obligatoirement être des instances de classes et être public.

Exemple

L’exemple suivant génère l’avertissement 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  
    }  
}