Freigeben über


Bearbeiten und Fortfahren (C#): Fehler 4054

Das Ändern von "Methoden | Eigenschaften | Indexern | Operatoren", die die "yield return"-Anweisung oder die "yield break"-Anweisung enthalten, hat zur Folge, dass die Debugsitzung nicht fortgesetzt werden kann, solange Bearbeiten und Fortfahren aktiviert ist

Der Fehler tritt bei dem Versuch auf, Methoden, Eigenschaften, Indexer oder Operatoren zu ändern, die eine yield return-Anweisung oder eine yield break-Anweisung enthalten. Weitere Informationen finden Sie unter yield (C#-Referenz). Bearbeiten und Fortfahren unterstützt diese Änderung während des Debuggens nicht.

Betrachten Sie folgenden Code:

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))

      {

         

      }

   }

}

Dieser Fehler tritt auf, wenn Sie einen Haltepunkt in yield return items[index] festlegen, mit dem Debuggen beginnen und anschließend versuchen, der Range-Methode die lokale Variablendeklaration int a = 10 hinzuzufügen.

So beheben Sie diesen Fehler

  • Machen Sie die Änderungen rückgängig, und setzen Sie anschließend das Debuggen ohne die Änderungen fort.

    – oder –

    Klicken Sie im Menü Debuggen auf Debuggen beenden, nehmen Sie dann die Änderungen vor, und starten Sie eine neue Debugsitzung.

Siehe auch

Referenz

yield (C#-Referenz)

Unterstützte Codeänderungen (C#)

Bearbeiten und Fortfahren (Visual C#)

Weitere Ressourcen

Bearbeiten und Fortfahren: Fehlermeldungen und Warnungen (C#)