Error del compilador CS1625

Actualización: noviembre 2007

Mensaje de error

No se pueden proporcionar resultados en el cuerpo de una cláusula finally
Cannot yield in the body of a finally clause

En el texto de una cláusula finally no se permite una instrucción yield. Para evitar este error, ponga la instrucción yield fuera de la cláusula finally.

El código siguiente genera el error CS1625:

// CS1625.cs
using System.Collections;

class C : IEnumerable
{
   public IEnumerator GetEnumerator()
   {
      try
      {
      }
      finally
      {
        yield return this;  // CS1625
      }
   }
}

public class CMain
{
   public static void Main() { }
}