Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Se si modifica un '[metodo | proprietà | indicizzatore | operatore]' che contiene l'istruzione 'yield return' o 'yield break', la sessione di debug non potrà continuare quando è attivo Modifica e continuazione.
Questo errore si verifica quando si tenta di modificare un metodo, una proprietà, un indicizzatore o un operatore contenente un'istruzione yield return o yield break. Per ulteriori informazioni, vedere yield (Riferimenti per C#). In Modifica e continuazione non è supportata questa modifica durante il debug.
Si consideri il codice riportato di seguito.
class Program
{
private int[] items = { 1, 2, 3 };
System.Collections.Generic.IEnumerable<int> Range(int start, int end)
{
for (int index = start; index < end; index++)
{
yield return items[index];
}
}
static void Main()
{
Program p = new Program();
foreach (int item in p.Range(0, 2))
{
}
}
}
Se si imposta un punto di interruzione in corrispondenza di yield return items[index] e quindi si avvia il debug e si tenta di aggiungere una dichiarazione di variabile locale int a = 10 nel metodo Range, si verificherà questo errore.
Per correggere l'errore
Annullare le modifiche e continuare il debug.
—oppure—
Scegliere Termina debug dal menu Debug, apportare le modifiche, quindi avviare una nuova sessione di debug.
Vedere anche
Riferimenti
Modifiche al codice supportate (C#)
Modifica e continuazione (Visual C#)