C#, режим "Изменить и продолжить": ошибка 4053

Обновлен: Ноябрь 2007

Сообщение об ошибке

При включенном режиме "Изменить и продолжить" изменение [метода | свойства | индексатора | оператора | конструктора | деструктора | события], содержащего анонимный метод, приведет к завершению сеанса отладки.
Modifying a '[method | property | indexer | operator | event | constructor | destructor]' which contains an anonymous method will prevent the debug session from continuing while Edit and Continue is enabled

Предпринята попытка изменить метод, свойство, индексатор, оператор, конструктор, деструктор или событие, содержащее анонимный метод. Режим "Изменить и продолжить" не поддерживает это изменение во время отладки.

Рассмотрим этот код:

class Program

{

   delegate void D();

   static void Main(string[] args)

   {

      D d = delegate { System.Console.WriteLine("D"); };

      System.Console.WriteLine("Main");

   }

}

Если пошаговым выполнением зайти в Main, затем изменить WriteLine(“Main”) на WriteLine(“Hello”), случится эта ошибка.

Исправление этой ошибки

  • В меню Правка выберите команду Отменить для отката изменений

    либо

    В меню Отладка выберите команду Остановить отладку, затем внесите изменения в код и начните отладку заново.

См. также

Ссылки

Поддерживаемые изменения кода (C#)

Режим "Изменить и продолжить" (Visual C#)

Другие ресурсы

Ошибки и предупреждения режима "Изменить и продолжить" (C#)