Partager via


Avertissement du compilateur (niveau 2) CS0279

Mise à jour : novembre 2007

Message d'erreur

'nom de type' n'implémente pas le modèle 'nom de modèle'. 'nom de méthode' est statique ou non public.
'type name' does not implement the 'pattern name' pattern. 'method name' is either static or not public.

Il existe plusieurs instructions en langage C# qui utilisent des motifs définis, par exemple foreach et using. Par exemple, foreach utilise la classe de collection qui implémente le modèle énumérable. Cette erreur se produit lorsque le compilateur est incapable de faire la correspondance en raison d'une méthode qui est déclarée static ou non public. Les méthodes de motifs doivent être des instances de classes, et être public.

Exemple

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