Partager via


Modifier & Continuer (C#) : erreur 4054

La modification de 'method | property | indexer | operator' qui contient l'instruction 'yield return' ou 'yield break' empêche la session de débogage de se poursuivre tant que Modifier & Continuer est activé.

Cette erreur se produit si vous tentez de modifier une méthode, une propriété, un indexeur ou un opérateur qui contient une instruction yield return ou yield break. Pour plus d'informations, consultez yield (Référence C#). Modifier & Continuer ne prend pas en charge cette modification pendant le débogage.

Prenons le code suivant :

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

      {

         

      }

   }

}

Si vous définissez un point d'arrêt sur yield return items[index], puis démarrez le débogage et tentez d'ajouter une déclaration de variable locale int a = 10 dans la méthode Range, cette erreur se produit.

Pour corriger cette erreur

  • Annulez les modifications, puis continuez à déboguer sans les modifications.

    - ou -

    Dans le menu Déboguer, cliquez sur Arrêter le débogage, puis apportez les modifications et démarrez une nouvelle session de débogage.

Voir aussi

Référence

yield (Référence C#)

Modifications de code prises en charge (C#)

Modifier & Continuer (Visual C#)

Autres ressources

Erreurs et avertissements de Modifier & Continuer (C#)