Errore del compilatore CS1632

Aggiornamento: novembre 2007

Messaggio di errore

Il controllo non può lasciare il corpo di un metodo anonimo o di un'espressione lambda
Control cannot leave the body of an anonymous method or lambda expression

Questo errore si verifica quando si tenta di spostare il controllo all'esterno del blocco di metodo anonimo con un'istruzione di salto (break, goto, continue e così via). Un blocco di metodo anonimo è il corpo di una funzione da cui è possibile uscire solo con un'istruzione return o raggiungendo il punto finale.

Il seguente codice di esempio genera l'errore CS1632:

// CS1632.cs
// compile with: /target:library
delegate void MyDelegate();
class MyClass
{
   public void Test()
   {      
      for (int i = 0 ; i < 5 ; i++)
      {
         MyDelegate d = delegate {
            break;   // CS1632
          };        
      }
   }
}