Error del compilador CS1623

Actualización: noviembre 2007

Mensaje de error

Los elementos de iteración no pueden tener parámetros ref ni out
Iterators cannot have ref or out parameters

Este error aparece si un método iterador toma un parámetro ref o out. Para evitar este error, quite la palabra clave ref o out de la firma del método.

Ejemplo

En el código siguiente se genera el error 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;
    }
}