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