Modifier & Continuer (C#) : erreur 4029
Mise à jour : novembre 2007
Message d'erreur
La modification d'une méthode dans le contexte d'un type générique empêche la session de débogage de se poursuivre tant que Modifier & Continuer est activé.
Modifying a method inside the context of a generic type will prevent the debug session from continuing while Edit and Continue is enabled
Cette erreur indique que vous avez essayé de modifier une méthode, générique ou pas, une propriété, un indexeur, un événement, un opérateur, un constructeur ou un destructeur d'un type générique. Modifier & Continuer ne prend pas en charge ce type de modification pendant le débogage.
Prenons le code suivant :
static class Utils<T> where T: System.IComparable
{
public static T Max(T item1, T item2)
{
if (item1.CompareTo(item2) > 0)
return item1;
return item2;
}
}
class Program
{
static void Main(string[] args)
{
int max = Utils<int>.Max(10, 20);
}
}
Si vous ajoutez un point d'arrêt sur la ligne if (item1.CompareTo(item2) > 0), puis démarrez le débogage et tentez de remplacer > 0 par >= 0, cette erreur se produit.
Pour corriger cette erreur
Annulez les modifications, puis continuez à déboguer sans les modifications.
- ou -
Dans le menu Déboguer, cliquez sur Arrêter le débogage, apportez les modifications, puis démarrez une nouvelle session de débogage.
Voir aussi
Référence
Génériques (Guide de programmation C#)
Modifications de code prises en charge (C#)
Modifier & Continuer (Visual C#)