Compartir a través de


(C#) Editar y continuar: error 4054

Actualización: noviembre 2007

Mensaje de error

Si modifica 'método | propiedad | indizador | operador' que contiene una instrucción 'yield return' o 'yield break' evitará que la sesión de depuración continúe mientras esté habilitada la opción Editar y continuar.
Modifying a 'method | property | indexer | operator' which contains the 'yield return' or 'yield break' statement will prevent the debug session from continuing while Edit and Continue is enabled

Este error aparece si intenta modificar un método, propiedad, indizador u operador que contienen una instrucción yield return o yield break. Para obtener más información, vea yield (Referencia de C#). Editar y continuar no admite este cambio durante la depuración.

Observe el código siguiente:

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 establece un punto de interrupción en yield return items[index], inicia la depuración e intenta agregar una declaración de variable local int a = 10 en el método Range, se produce este error.

Para corregir este error

  • Deshaga los cambios y, después, continúe la depuración sin los cambios.

    — o bien —

    En el menú Depurar, seleccione Detener depuración y, a continuación, realice los cambios y comience una nueva sesión de depuración.

Vea también

Referencia

yield (Referencia de C#)

Cambios admitidos en el código (C#)

Editar y continuar (Visual C#)

Otros recursos

Errores y advertencias de Editar y continuar (C#)