Modifications non prises en charge dans Modifier & Continuer (Visual Basic)
Modifiez et passez les que vous arrêtez l'exécution du programme en mode Arrêt, apporter des modifications au code d'exécution, et à l'exécution du programme de résumé avec les modifications récemment incorporées.Il permet aux modifications déclaratives de code qui affectent la structure publique d'une classe sont généralement hors limites, mais de nombreuses modifications que vous pouvez apporter à une méthode, corps de propriété, ou déclarations privées dans une classe.Autant que possible, Modifier & Continuer marque du code impossible à modifier par la couleur gris clair.
Si vous devez apporter une modification qui n'est pas prise en charge, vous devez arrêter le débogage, apportez les modifications, puis démarrez une nouvelle session de débogage.
Dans cette rubrique
Les sections suivantes décrivent les modifications non prises en charge pour la modification et ainsi de suite.
modifications de corps de méthode et de propriété
Modifications aux variables locales statiques non prises en charge
- Suppression d'une variable locale statique.
Modifications aux constructions d'itération non prises en charge
Modification de la condition d'une boucle While, lorsque le pointeur d'instruction se trouve dans la condition.
Modification de la limite inférieure ou supérieure d'une instruction For, lorsque le pointeur d'instruction se trouve dans l'expression.
Ajout ou suppression d'une boucle Next, lorsque le pointeur d'instruction est utilisé dans l'expression d'énumérateur.
Ajout d'une boucle For Each, lorsque le pointeur d'instruction se trouve dans le corps de la boucle.
Changement de l'itérateur d'une boucle For Each, lorsque le pointeur d'instruction se trouve dans l'expression d'énumérateur ou le corps de la boucle.
Changement de l'expression d'énumérateur d'une boucle For Each, lorsque le pointeur d'instruction se trouve dans l'expression d'énumérateur.
Modifications aux génériques non prises en charge
- Les modifications apportées à la méthode générique elle-même ou au corps de méthode générique ne sont pas prises en charge.L'instanciation d'un type générique ou les appels aux méthodes génériques existantes peuvent être ajoutés, supprimés ou modifiés.
Autres modifications non prises en charge
Modification de l'instruction d'appel d'une méthode située sur la pile des appels.
Ajout d'un bloc Try...Catch, lorsque le pointeur d'instruction finit dans le bloc Catch ou le bloc Finally.
Suppression d'un bloc Try...Catch, lorsque le pointeur d'instruction se trouve dans le bloc Catch ou le bloc Finally.
Ajout d'au moins six instructions Try imbriquées autour du pointeur d'instruction en cours.
Ajout d'un bloc Using autour du pointeur d'instruction en cours.
Ajout d'un bloc SynchLock autour du pointeur d'instruction en cours.
Ajout, suppression ou modification d'un #region défini par l'utilisateur.
modifications d'attribut
Modifier & Continuer ne prend pas en charge la modification d'attributs.En particulier, la fonctionnalité Modifier & Continuer ne prend pas en charge les modifications suivantes :
définition, modification ou suppression d'une classe d'attributs ;
ajout d'un attribut ;
modification ou suppression d'un attribut.
modifications de déclaration de classe
La plupart des modifications apportées aux déclarations de classe ne sont pas autorisées par Modifier & Continuer en mode Arrêt.En particulier, la fonctionnalité Modifier & Continuer ne prend pas en charge les modifications suivantes :
Création d'une nouvelle classe.
Attribution d'un nouveau nom, suppression ou modification de l'héritage d'une classe existante.
Implémentation d'une nouvelle interface ou suppression de l'implémentation d'une interface.
Modification d'un des modificateurs suivants sur une classe : MustInherit, NotInheritable ou Shared.
Ajout, modification ou suppression de l'état ComClass.
Modification du modificateur d'accès d'une classe.
Modification d'une déclaration de classe générique.
modifications de déclaration de membre de classe
Les modifications apportées aux déclarations de membre est interdit de la plupart de modification et reprennent les cas.Par exemple, vous ne pouvez pas modifier la signature ou le niveau d'accès d'un membre, vous ne pouvez pas déclarer de nouvelle méthode ou propriété non privée et vous ne pouvez pas complètement supprimer des membres en mode Arrêt.En particulier, la fonctionnalité Modifier & Continuer ne prend pas en charge les modifications suivantes :
Occultation d'une variable membre existante en déclarant une variable globale ou membre du même nom dans le bloc conteneur.
Occultation d'une variable locale statique en déclarant une nouvelle instance à l'intérieur d'un bloc.
Ajout d'une propriété ou méthode nouvelle, non privée.L'ajout d'une propriété ou méthode Private est autorisé.
Ajout d'un nouveau champ, à moins qu'il ne soit Private et qu'il n'y ait pas d'occurrences du nom de champ dans une instruction active.
Ajout d'un nouveau champ Private dans une classe marquée avec SequentialLayout ou ExplicitLayout.
Ajout ou suppression d'un constructeur.
Suppression de gestionnaires pour un événement.L'ajout d'un gestionnaire d'événements est autorisé.
Ajout d'une nouvelle propriété ou méthode de surcharge, à moins que la propriété ou méthode ne soit Private et qu'il n'y ait pas d'occurrences du nom dans une instruction active.
Ajout ou suppression de la clause WithEvents sur une variable membre.
Suppression d'un membre.
Modification d'une déclaration de propriété ou de méthode pour arrêter l'implémentation d'une interface.
Modification de toute méthode qui utilise des génériques.
Modification de la signature ou du type de retour d'une propriété ou méthode non privée.
Substitution ou occultation d'un membre dans une classe de base.
Modification de l'état MustInherit ou NotOverridable d'une méthode.
Modification des modificateurs d'accès pour une propriété ou méthode.
Modification du type ou de l'état en lecture seule d'un champ.
Modification d'un champ public.
Modifications de l'option du compilateur
En utilisant Modifier & Continuer en mode arrêt, vous ne pouvez pas changer, ajouter ou supprimer les options de compilateur suivantes :
Option Strict
Option Explicit
Option Compare
modifications de compilation conditionnelle
La plupart des modifications aux directives de compilation conditionnelles ne sont pas autorisées en mode Modifier & Continuer.En particulier, la fonctionnalité Modifier & Continuer ne prend pas en charge les modifications suivantes :
Ajout ou suppression de directives de compilation conditionnelles.
Ajout, suppression ou modification de l'expression d'évaluation d'une instruction de compilation conditionnelle.
modifications de constantes
Les modifications des constantes en mode Modifier & Continuer sont très limitées.En particulier, la fonctionnalité Modifier & Continuer ne prend pas en charge les modifications suivantes :
La définition d'une nouvelle constante, à moins qu'elle ne soit privée et qu'il n'y ait pas d'occurrences du nom de la constante dans une instruction active.
Modification du type ou de la valeur d'une constante.
Suppression d'une constante.
modifications de délégué et de déclaration event
La plupart des modifications apportées aux délégués et aux événements ne sont pas autorisées par Modifier & Continuer en mode Arrêt.En particulier, la fonctionnalité Modifier & Continuer ne prend pas en charge les modifications suivantes :
Définition d'un nouveau délégué.
Changement ou suppression d'une définition de délégué.
Définition d'un nouvel événement.
Suppression d'un événement.
modifications d'énumération
Les modifications apportées aux énumérations (Enums) ne sont pas autorisées par Modifier & Continuer en mode Arrêt.En particulier, la fonctionnalité Modifier & Continuer ne prend pas en charge les modifications suivantes :
Définition d'un nouvel Enum.
Modification du type sous-jacent d'un Enum.
Ajout, changement ou suppression d'un membre Enum.
Modification du modificateur d'accès d'un Enum.
modifications externes de déclarations
En général, vous ne pouvez pas modifier les déclarations de méthodes externes pendant Modifier & Continuer.En particulier, la fonctionnalité Modifier & Continuer ne prend pas en charge les modifications suivantes :
Ajout ou suppression d'une déclaration externe.
Modifiez la signature ou marshaler des attributs d'une déclaration externe.
modifications d'importations
Modifier & Continuer n'autorise pas l'ajout, le changement ou la suppression d'instructions Imports en mode Arrêt.
modifications de définition d'interface
Bien que vous soyez fréquemment autorisés à apporter des modifications aux membres qui implémentent des interfaces, les modifications aux définitions d'interface ne sont pas autorisées en généralpar Modifier et Continuer.En particulier, la fonctionnalité Modifier & Continuer ne prend pas en charge les modifications suivantes :
Définition d'une nouvelle interface.
Ajout, modification ou suppression de membres d'interface.
Suppression d'une interface existante.
Modification du modificateur d'accès d'une interface.
Modification de la hiérarchie d'héritage de l'interface.
modifications de déclaration de module
La plupart des modifications aux déclarations de module ne sont pas autorisées par Modifier & Continuer en mode Arrêt.En particulier, la fonctionnalité Modifier & Continuer ne prend pas en charge les modifications suivantes :
Création d'un nouveau module.
Attribution d'un nouveau nom ou suppression d'un module existant.
Modification du modificateur d'accès d'un module.
modifications de déclaration de membre de module
À l'aide de Modifier & Continuer, vous pouvez apporter différentes modifications aux membres de module, tels que propriétés, méthodes et champs, en mode Arrêt.Certaines modifications ne sont toutefois pas prises en charge.Plus particulièrement, Modifier & Continuer ne prend pas en charge l'ajout, la suppression ou la modification du type ou de la signature de membres non privés.
En particulier, la fonctionnalité Modifier & Continuer ne prend pas en charge les modifications suivantes :
Ajout d'un nouveau membre, à moins que ce membre soit Private et qu'il n'existe pas d'occurrence de ce nom dans aucune instruction active.
Suppression d'une propriété ou méthode.
Modification de la signature d'une propriété ou méthode non privée.
Modification de toute méthode qui utilise des génériques.
Modification des modificateurs d'accès d'une propriété ou d'une méthode, par exemple, remplacer Public par Private.
Suppression ou modification du type d'un champ existant.
modifications imbriquées de déclaration de type
En général, vous ne pouvez modifier les déclarations de type imbriqué en mode arrêt pendant que vous utilisez Modifier & Continuer.En particulier, la fonctionnalité Modifier & Continuer ne prend pas en charge les modifications suivantes :
Ajout d'un nouveau type imbriqué.
Déplacement d'un type imbriqué à un autre espace de noms ou type.
structurez les modifications de déclaration
La plupart des modifications aux déclarations de structure ne sont pas autorisées par Modifier & Continuer en mode Arrêt.En particulier, la fonctionnalité Modifier & Continuer ne prend pas en charge les modifications suivantes :
créer une nouvelle structure.
Modification du nom ou suppression d'une structure existante.
Implémentation d'une nouvelle interface ou suppression de l'implémentation d'une interface.
Remplacer le modificateur d'accès pour une structure.
modifications de déclaration de membre de structure
À l'aide de Modifier & Continuer, vous pouvez apporter différentes modifications aux membres de structure (propriétés, méthodes et champs) en mode Arrêt.Toutefois, certaines modifications ne sont pas prises en charge, en particulier celles qui affectent la déclaration de membres de structure.En particulier, la fonctionnalité Modifier & Continuer ne prend pas en charge les modifications suivantes :
L'ajout ou la suppression d'une propriété ou d'une méthode, y compris des méthodes de constructeur (à moins que la méthode ne soit Privée et qu'aucune déclaration active ne contienne d'occurrence du nom de champ).
Modification de la signature d'une propriété ou d'une méthode.
Modification de toute méthode qui utilise des génériques.
Sélection d'une déclaration de propriété ou de méthode pour implémenter une interface.
Modification des modificateurs d'accès d'une propriété ou d'une méthode (par exemple, remplacer Public par Privé).
Ajout ou suppression d'un champ.
Modification d'un type de champ.