Partager via


Erreur du compilateur CS1621

Mise à jour : novembre 2007

Message d'erreur

L'instruction yield ne peut pas être utilisée dans une méthode anonyme ou une expression lambda
The yield statement cannot be used inside an anonymous method or lambda expression

L'instruction yield ne peut pas se trouver dans un bloc de méthode anonyme au sein d'un itérateur.

Exemple

L'exemple suivant génère l'erreur CS1621 :

// CS1621.cs

using System.Collections;

delegate object MyDelegate();

class C : IEnumerable
{
    public IEnumerator GetEnumerator()
    {
        MyDelegate d = delegate
        {
            yield return this; // CS1621
            return this;
        };
        d();
        // Try this instead:
        // MyDelegate d = delegate { return this; };
        // yield return d();
    }

    public static void Main()
    {
    }
}