Errore del compilatore CS1623

Aggiornamento: novembre 2007

Messaggio di errore

Gli iteratori non possono avere parametri ref o out.
Iterators cannot have ref or out parameters

Questo errore si verifica quando un metodo iteratore accetta un parametro ref o out. Per correggere l'errore, rimuovere la parola chiave ref o out dalla firma del metodo.

Esempio

Il seguente codice di esempio genera l'errore CS1623:

// CS1623.cs
using System.Collections;

class C : IEnumerable
{
    public IEnumerator GetEnumerator()
    {
        yield return 0;
    }

    // To resolve the error, remove ref
    public IEnumerator GetEnumerator(ref int i)  // CS1623
    {
        yield return i;
    }

    // To resolve the error, remove out
    public IEnumerator GetEnumerator(out float f)  // CS1623
    {
        f = 0.0F;
        yield return f;
    }
}