Поделиться через


Изменения, не поддерживаемые в режиме "Изменить и продолжить" Visual Basic

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

Если необходимо внести изменение, не поддерживаемое, необходимо остановить отладку, внесены изменения в код и начните отладку заново.

Содержание раздела

В следующих разделах описываются неподдерживаемые правки для правки и продолжить.

Method and Property Body Edits

Attribute Edits

Class Declaration Edits

Class Member Declaration Edits

Compiler Option Edits

Conditional Compilation Edits

Constants Edits

Delegate and Event Declaration Edits

Enumeration Edits

External Declarations Edits

Imports Edits

Interface Definition Edits

Module Declaration Edits

Module Member Declaration Edits

Nested Type Declaration Edits

Structure Declaration Edits

k06a3215.collapse_all(ru-ru,VS.110).gifПравка текста сообщения метода и свойства

Неподдерживаемые изменения статических локальных переменных

  • Удаление статической локальной переменной.

Неподдерживаемые изменения итерационных конструкций

  • Изменение условия цикла While, когда указатель инструкции указывает на условие.

  • Изменение нижней или верхней границы инструкции For, когда указатель находится в выражении.

  • Добавление или удаление цикла Next, когда указатель инструкций используется в выражении перечислителя.

  • Добавление цикла For Each, когда указатель инструкций находится в теле цикла.

  • Изменение итератора цикла For Each, когда указатель инструкций находится в выражении перечислителя или в теле цикла.

  • Изменение выражения перечислителя цикла For Each, когда указатель инструкций находится в выражении перечислителя.

Неподдерживаемые изменения универсальных шаблонов

  • Изменения универсального метода — его самого или его тела — не поддерживаются.Создание универсального типа или вызовы существующих универсальных методов могут быть добавлены, удалены или изменены.

Другие неподдерживаемые изменения

  • Изменение инструкции вызова метода, находящейся в стеке вызовов.

  • Добавление блока Try...Catch, когда указатель инструкций находится в блоке Catch или Finally.

  • Удаление блока Try...Catch, когда указатель инструкций находится в блоке Catch или Finally.

  • Добавление шести и более вложенных инструкций Try вокруг текущего указателя инструкций.

  • Добавление блока Using вокруг текущего указателя инструкций.

  • Добавление блока SynchLock вокруг текущего указателя инструкций.

  • Добавление, удаление или изменение пользовательского #region.

k06a3215.collapse_all(ru-ru,VS.110).gifПравки атрибута

Режим "Изменить и продолжить" не поддерживает модификации атрибутов.В частности, в режиме "Изменить и продолжить" не поддерживаются следующие изменения:

  • определение, редактирование или удаление класса атрибутов;

  • добавление атрибута;

  • изменение или удаление существующего атрибута.

k06a3215.collapse_all(ru-ru,VS.110).gifПравки объявления классов

Большинство изменений в классе объявлений не поддерживаются режимом "Изменить и продолжить" в режиме прерывания.В частности, в режиме "Изменить и продолжить" не поддерживаются следующие изменения:

  • Создание нового класса.

  • Переименование, удаление или изменение наследования существующего класса.

  • Реализация нового интерфейса или удаление реализации интерфейса

  • Изменение любого из следующих модификаторов для класса: MustInherit, NotInheritable или Shared.

  • Добавление, изменение или удаление состояния ComClass.

  • Изменение модификатора доступа для класса.

  • Изменение любого объявления базового класса.

k06a3215.collapse_all(ru-ru,VS.110).gifПравки объявления члена класса

Запрещены в большинстве правке и продолжают изменения в объявлении члена функции case.Например, нельзя изменить подпись или уровень доступа элемента, нельзя объявлять новый, не являющийся закрытым, метод или свойство, и нельзя полностью удалять элементы в режиме приостановки.В частности, в режиме "Изменить и продолжить" не поддерживаются следующие изменения:

  • затенение существующей переменной-элемента путем объявления переменной-элемента или глобальной переменной с тем же именем в блоке, содержащем текущий;

  • затенение статической локальной переменной путем объявления нового экземпляра внутри блока;

  • добавление нового, не являющегося закрытым, свойства или метода.Разрешается добавление свойства или метода Private;

  • добавление нового поля, если только оно не является Private и нет ни одного вхождения имени поля в любую активную инструкцию;

  • добавление нового поля Private в любой класс, помеченный SequentialLayout или ExplicitLayout;

  • добавление или удаление конструктора;

  • удаление обработчиков событий.Разрешается добавление обработчика событий;

  • добавление нового перегруженного свойства или метода, если только они не Private и нет ни одного вхождения имени в любую активную инструкцию;

  • добавление или удаление условия WithEvents для переменной-элемента;

  • удаление элемента;

  • изменение объявления свойства или метода, которое останавливает реализацию интерфейса;

  • Изменение любого метода, использующего универсальные шаблоны;

  • изменение подписи или типа возвращаемого значения для свойства или метода, не являющихся закрытыми;

  • переопределение или затенение элемента в базовом классе;

  • изменение состояния MustInherit или NotOverridable у метода;

  • изменение модификаторов доступа для свойства или метода;

  • изменение типа поля или его параметра "только для чтения";

  • изменение открытого поля.

k06a3215.collapse_all(ru-ru,VS.110).gifИзменение параметров компилятора

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

  • Option Strict

  • Option Explicit

  • Option Compare

k06a3215.collapse_all(ru-ru,VS.110).gifПравки условной компиляции

В режиме "Изменить и продолжить" запрещено большинство изменений директив условной компиляции.В частности, в режиме "Изменить и продолжить" не поддерживаются следующие изменения:

  • добавление или удаление директив условной компиляции;

  • добавление, удаление или изменение вычисляемого выражения в операторе условной компиляции.

k06a3215.collapse_all(ru-ru,VS.110).gifПравки констант

Возможности изменения констант в режиме "Изменить и продолжить" очень ограничены.В частности, в режиме "Изменить и продолжить" не поддерживаются следующие изменения:

  • Определение новой константы, если только она не является константой с закрытым доступом и нет ни одного вхождения имени константы в любой активный оператор;

  • Изменение типа или значения константы;

  • Удаление константы.

k06a3215.collapse_all(ru-ru,VS.110).gifПравки объявления делегата и события

В режиме "Изменить и продолжить" во время приостановки выполнения не допускается большинство изменений делегатов и событий.В частности, в режиме "Изменить и продолжить" не поддерживаются следующие изменения:

  • определение нового делегата;

  • изменение или удаление определения делегата;.

  • определение нового события;

  • удаление события;

k06a3215.collapse_all(ru-ru,VS.110).gifПравки перечисления

Изменения в перечислениях (Enums) не поддерживаются режимом "Изменить и продолжить".В частности, в режиме "Изменить и продолжить" не поддерживаются следующие изменения:

  • определение новых Enum;

  • изменение базового типа Enum;

  • добавление, изменение и удаление элементов Enum;

  • изменение модификатора доступа из Enum.

k06a3215.collapse_all(ru-ru,VS.110).gifВнешние правки объявлений

В общем случае нельзя изменить объявление внешних методов во время режима "Изменить и продолжить".В частности, в режиме "Изменить и продолжить" не поддерживаются следующие изменения:

  • добавление или удаление внешних объявлений;

  • Изменение подписи или маршалировать атрибуты внешнего объявления.

k06a3215.collapse_all(ru-ru,VS.110).gifПравка записей

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

k06a3215.collapse_all(ru-ru,VS.110).gifИзменение определения интерфейса

Хотя часто разрешено вносить изменения в элементы, которые реализуют интерфейсы, изменения фактических определений интерфейса, как правило, не допускаются режимом "Изменить и продолжить".В частности, в режиме "Изменить и продолжить" не поддерживаются следующие изменения:

  • Определение нового интерфейса.

  • Добавление, изменение или удаление членов интерфейса.

  • Удаление существующего интерфейса.

  • Изменение модификатора доступа интерфейса.

  • Изменение иерархии наследования интерфейса.

k06a3215.collapse_all(ru-ru,VS.110).gifПравки объявления модуля

Большинство изменений в объявлениях модуля не поддерживаются операцией "Изменить и продолжить" в режиме приостановки.В частности, в режиме "Изменить и продолжить" не поддерживаются следующие изменения:

  • Создание нового модуля;

  • Переименование или удаление существующего модуля;

  • Изменение модификатора доступа модуля.

k06a3215.collapse_all(ru-ru,VS.110).gifПравки объявления члена модуля

Используя операцию "Изменить и продолжить", в режиме приостановки можно выполнять различные изменения элементов модуля, например, изменять свойства, методы и поля.Тем не менее, некоторые изменения не поддерживаются.К числу важных изменений, не поддерживаемых операцией "Изменить и продолжить", относится добавление, удаление и изменение типа или подписи открытых или защищенных элементов.

В частности, в режиме "Изменить и продолжить" не поддерживаются следующие изменения:

  • Добавление нового элемента, если данный элемент не является закрытым (Private) и его имя не встречается в каком-либо активном операторе;

  • Удаление свойства или метода;

  • Изменение подписи открытого или защищенного свойства или метода;

  • Изменение любого метода, использующего универсальные шаблоны;

  • Изменение модификаторов доступа свойства или метода, например, изменение Public на Private;

  • Удаление или изменение типа существующего поля.

k06a3215.collapse_all(ru-ru,VS.110).gifПравки объявления вложенных типов

Как правило, нельзя вносить изменения в объявления вложенных типов в режиме прерывания при использовании режима "Изменить и продолжить".В частности, в режиме "Изменить и продолжить" не поддерживаются следующие изменения:

  • Добавление нового вложенного типа.

  • Перемещение вложенного типа в другое пространство имен или тип.

k06a3215.collapse_all(ru-ru,VS.110).gifПравки объявление структуры

Большинство изменений объявлений структур не допускаются режимом "Изменить и продолжить" в режиме приостановки.В частности, в режиме "Изменить и продолжить" не поддерживаются следующие изменения:

  • Создать новую структуру.

  • Переименование или удаление существующей структуры.

  • Реализация нового интерфейса или удаление реализации интерфейса

  • Измените модификатор доступа для структуры.

k06a3215.collapse_all(ru-ru,VS.110).gifПравки объявления членов структуры

Используя режим "Изменить и продолжить", в режиме прерывания можно сделать любые изменения в элементах структуры — например изменить свойства, методы и поля.Некоторые изменения, однако, не поддерживаются. Например, изменения, касающиеся объявлений элементов структуры.В частности, в режиме "Изменить и продолжить" не поддерживаются следующие изменения:

  • добавление или удаление свойства или метода, включая конструкторы (если только метод не является Private и имя поля не встречается ни в каких активных инструкциях);

  • изменение подписи свойства или метода;

  • Изменение любого метода, использующего универсальные шаблоны;

  • изменение объявления свойства или метода, реализующего интерфейс;

  • изменение модификаторов доступа у свойства или метода (например, изменение Public на Private);

  • добавление или удаление поля;

  • изменение типа поля.

См. также

Задачи

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

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

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