Não há suporte para edições no Visual Basic, editar e continuar
Edit and Continue les você parar a execução do programa no modo de interrupção, faça alterações no código em execução e continuar a execução do programa com as alterações recentemente incorporadas.Edições de código declarativo que afetam a estrutura pública de uma classe são geralmente proibidas, mas muitas edições que você pode fazer para um método, o corpo de propriedade ou declarações particulares dentro de uma classe são permitidas.Sempre que possível, editar e continuar marca o código que não pode ser editado como cinza claro.
Se você precisar fazer uma alteração que não é suportada, você deve parar a depuração, faça as alterações e iniciar uma nova sessão de depuração.
Neste tópico
As seções a seguir descrevem as edições sem suporte para Edit and Continue.
Método and Property Body Edits
Alterações não suportadas para variáveis locais estáticas
- Removendo uma variável local estática.
Alterações não suportadas para construtores de iteração
Modificando a condição de um While loop, quando o ponteiro de instrução está na condição.
Modificando o inferior ou limite superior de um For instrução, quando o ponteiro de instrução está na expressão.
Adicionando ou removendo uma Next loop, quando o ponteiro de instrução é usado na expressão do enumerador.
Adicionando um For Each loop, quando o ponteiro de instrução está no corpo do loop.
Alterando o iterador de um For Each loop, quando o ponteiro de instrução está na expressão enumerador ou o corpo do loop.
Alterar a expressão de enumerador de um For Each loop, quando o ponteiro de instrução está na expressão do enumerador.
Alterações não suportadas para genéricos
- Alterações em métodos genéricos ou no corpo do método genérico não são suportadas.Instanciação de um tipo genérico ou chamadas para métodos genéricos existentes podem ser adicionados, excluídos ou alterados.
Outras alterações sem-suporte
Alterar a instrução de invocação de um método que esteja na pilha de chamadas.
Adicionando um Try...Catch bloco, quando o ponteiro de instrução é encerrada na Catch bloco ou o Finally bloco.
Removendo uma Try...Catch bloco, quando o ponteiro de instrução está em um Catchbloco ou o Finally bloco.
A adição de seis ou mais aninhado Try instruções ao redor do ponteiro de instrução atual.
Adicionando um Using bloco ao redor do ponteiro de instrução atual.
Adicionando um SynchLock bloco ao redor do ponteiro de instrução atual.
Adicionando, removendo ou modificando um user-defined #region.
Edições de atributo
Edição e continuação não dá suporte a modificação de atributos.Especificamente, a Edição e Continuação não dá suporte as seguintes alterações:
Definir, editar ou excluir uma classe de atributo.
Adicionando um atributo.
Editar ou remover um atributo existente.
Edição das declarações de classe
A maioria das alterações em declarações de classe não são permitidas pela Edição e Continuação enquanto estiver no modo de interrupção.Especificamente, a Edição e Continuação não dá suporte as seguintes alterações:
Criar uma nova classe.
Renomear, excluir ou alterar a herança de uma classe existente.
Implementar uma nova interface ou remover a implementação de uma interface.
A alteração de qualquer um dos seguintes modificadores em uma classe: MustInherit, NotInheritable, ou Shared.
Adicionando, alterando ou removendo ComClass status.
Alterar o modificador de acesso para uma classe.
Editar qualquer declaração de classe genérica.
Edição das declarações de membro de classe.
Alterações em declarações de membro são proibidas na maioria editar e continuam a casos.Por exemplo, não é possível alterar o nível de assinatura ou acesso de um membro, você não pode declarar um novo método não particular ou propriedade e não é possível remover completamente membros durante o modo de quebra.Especificamente, a Edição e Continuação não dá suporte as seguintes alterações:
Sombrear um membro existente variável, declarando uma variável global ou de membro com o mesmo nome no bloco contendo.
Sombrear um variável local estática, declarando uma nova instância dentro de um bloco.
Adicionar uma nova e não particular propriedade ou método.Adicionando um Private propriedade ou método é permitido.
Adicionando um novo campo, a menos que o campo Private e não há nenhuma ocorrência do nome do campo em qualquer instrução ativa.
Adicionando um novo Private campo em qualquer classe marcada com SequentialLayout ou ExplicitLayout.
Adicionar ou excluir um construtor.
Remover manipuladores para um evento.Adicionar um manipulador de eventos é permitido.
Adicionando uma nova propriedade ou método sobrecarga, a menos que a propriedade ou método é Private e não há nenhuma ocorrência do nome em qualquer instrução ativa.
Adicionando ou removendo o WithEvents cláusula em uma variável de membro.
Excluir um membro.
Alterar uma declaração de propriedade ou método para interromper a implementação de uma interface.
Editar qualquer método que usa métodos genéricos
Alterar o tipo de assinatura ou retorno de uma propriedade ou método não particular.
Substituir ou sombrear um membro de uma classe de base.
Alterando a MustInherit ou NotOverridable o status de um método.
Alterar os modificadores de acesso para uma propriedade ou método.
Alterar o tipo ou status somente leitura de um campo.
Alterar um campo público.
A edição das opções de compilador
Ao usar edição e continuação no modo de interrupção, você não pode alterar, adicionar ou remover as seguintes opções do compilador:
Option Strict
Option Explicit
Option Compare
Edição da compilação condicional
A maioria das alterações de diretivas de compilação condicional não são permitidos em Editar e continuar o modo.Especificamente, a Edição e Continuação não dá suporte as seguintes alterações:
Adicionar ou remover diretivas de compilação condicional.
Adicionar, remover ou alterar a expressão de avaliação de uma instrução de compilação condicional.
Edições de constantes
As alterações às constantes enquanto estiverem nos modos Editar e Continuar são muito limitadas.Especificamente, a Edição e Continuação não dá suporte as seguintes alterações:
Definição de uma nova constante, a menos que a constante seja particular e não haja nenhuma ocorrência do nome da constante em qualquer instrução ativa.
Alteração do tipo ou valor de uma constante.
Remoção de uma constante.
Delegado e a edição das declarações de evento
A maioria das alterações a delegados e eventos não são permitidas pelo Edit and Continue durante o modo de Interrupção.Especificamente, a Edição e Continuação não dá suporte as seguintes alterações:
Definição de um novo delegado.
Alteração ou exclusão de uma definição de delegado.
Definição de um novo evento.
Exclusão de um evento.
Edição de enumeração
Altera a enumerações (Enums) não são permitidas pelo Edit and Continue durante o modo de interrupção.Especificamente, a Edição e Continuação não dá suporte as seguintes alterações:
Definindo um novo Enum.
Modificando o subjacente ao tipo de um Enum.
Adicionando, alterando ou removendo uma Enum membro.
Alterar o modificador de acesso de um Enum.
Edição de declarações externas
Em geral, você não pode alterar as declarações de métodos externos durante a edição e continuação.Especificamente, a Edição e Continuação não dá suporte as seguintes alterações:
Adicionando ou removendo uma declaração externa.
Alterando a assinatura ou atributos de uma declaração externo de empacotamento.
Importando edições
Edit and Continue não permite adicionar, alterar ou remover Imports instruções no modo de interrupção.
Edições nas definições de interface
Embora você freqüentemente tem permissão para fazer alterações nos membros que implementam interfaces, alterações nas definições de interface não geralmente são permitidas pelo Edit and Continue.Especificamente, a Edição e Continuação não dá suporte as seguintes alterações:
Definir uma nova interface.
Adicionar, alterar ou remover membros de interface.
Excluir uma interface existente.
Alterar o modificador de acesso de uma interface.
Alterar a hierarquia de herança da interface.
Edição das declarações do módulo
A maioria das alterações em declarações do módulo não são permitidas pela edição e continuação enquanto estiver no modo de interrupção.Especificamente, a Edição e Continuação não dá suporte as seguintes alterações:
Criando um novo módulo.
Renomear ou excluir um módulo existente.
Alterar o modificador de acesso para um módulo.
Edição das declarações de membro de módulo
Usando a edição e continuação, você pode fazer uma variedade de alterações para membros de módulo, como, por exemplo, propriedades, métodos e campos, no modo de interrupção.No entanto, algumas alterações, não são suportadas.Notavelmente, editar e continuar não suporta a adição, exclusão ou alteração do tipo ou a assinatura de membros não-particulares.
Especificamente, a Edição e Continuação não dá suporte as seguintes alterações:
Adicionando um novo membro, a menos que esse membro é Private e não há nenhuma ocorrência do nome em qualquer instrução ativa.
Removendo uma propriedade ou método.
Alterando a assinatura de uma não-particular propriedade ou método.
Editar qualquer método que usa métodos genéricos
Por exemplo, alterando os modificadores de acesso para uma propriedade ou método, alterando Public para Private.
Excluir ou alterar o tipo de um campo existente.
Edição das declarações de tipo aninhado
Em geral, você não pode fazer alterações em declarações de tipo aninhado no modo de interrupção enquanto você usa o Edit and Continue.Especificamente, a Edição e Continuação não dá suporte as seguintes alterações:
Adicionando um novo tipo aninhado.
Movendo um tipo aninhado em outro espaço para nome ou tipo.
Edição das declarações de estrutura
A Maioria das alterações para declarações de estrutura não são permitidas pela Edição e Continuação enquanto estiver no modo Break.Especificamente, a Edição e Continuação não dá suporte as seguintes alterações:
Criar uma nova estrutura.
Renomear ou excluir uma estrutura existente.
Implementar uma nova interface ou remover a implementação de uma interface.
Alterar o modificador de acesso para uma estrutura.
Edição das declarações de membro de estrutura
Usando o editar e continuar, você pode fazer uma variedade de alterações na estrutura dos membros (propriedades, métodos, e campos) no modo de interrupção.Algumas alterações, no entanto, não são suportadas, as alterações mais notáveis que afetam a declaração da estrutura dos membros.Especificamente, a Edição e Continuação não dá suporte as seguintes alterações:
Adicionar ou remover uma propriedade ou método, incluindo métodos do construtor (a menos que o método seja Private e não exista nenhuma ocorrência do nome do campo em qualquer instrução ativa).
Alterar a assinatura de uma propriedade ou método.
Editar qualquer método que usa métodos genéricos
Alterar uma propriedade ou declaração do método que implementa uma interface.
Alterando os modificadores de acesso de uma propriedade ou método (por exemplo, alterando Public para particular).
Adicionar ou remover um campo.
Alterar o tipo de um campo.
Consulte também
Tarefas
Como: aplicar edições no modo de interrupção com editar e continuar