Condividi tramite


C# - Modifica e continuazione: errore 4029

Aggiornamento: novembre 2007

Messaggio di errore

Se si modifica un metodo all'interno del contesto di un tipo generico, la sessione di debug non potrà continuare quando è attivo Modifica e continuazione.
Modifying a method inside the context of a generic type will prevent the debug session from continuing while Edit and Continue is enabled

Questo errore viene visualizzato per segnalare che si è tentato di modificare un metodo, generico o non generico, una proprietà, un indicizzatore, un evento, un operatore, un costruttore o un distruttore di un tipo generico. In Modifica e continuazione non è supportato questo tipo di modifica durante il debug.

Si consideri il codice seguente:

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);

   }

}

Se si aggiunge un punto di interruzione nella riga if (item1.CompareTo(item2) > 0), quindi si avvia il debug e si tenta di modificare > 0 in >= 0, si verificherà questo errore.

Per correggere l'errore

  • Annullare le modifiche e continuare il debug.

    —oppure—

    Scegliere Termina debug dal menu Debug, apportare le modifiche, quindi avviare una nuova sessione di debug.

Vedere anche

Riferimenti

Generics (Guida per programmatori C#)

Modifiche al codice supportate (C#)

Modifica e continuazione (Visual C#)

Altre risorse

Errori e avvisi di Modifica e continuazione (C#)