Errore del compilatore CS1625

Aggiornamento: novembre 2007

Messaggio di errore

L'istruzione yield non è consentita nel corpo di una clausola finally.
Cannot yield in the body of a finally clause

Non è consentito inserire un'istruzione yield nel corpo di una clausola finally. Per correggere l'errore, spostare l'istruzione yield fuori dalla clausola finally.

Il seguente codice di esempio genera l'errore 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() { }
}