Partilhar via


C# Edit and Continue: error 4029 

Error Message

Modifying a method inside the context of a generic type will prevent the debug session from continuing while Edit and Continue is enabled

This error indicates that you tried to modify a method, generic or not, a property, an indexer, an event, an operator, a constructor, or a destructor of a generic type. Edit and Continue does not support this type of change while debugging.

Consider the following code:

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

   }

}

If you add a breakpoint on the line if (item1.CompareTo(item2) > 0), then start debugging and try to change > 0 to >= 0, this error occurs.

To correct this error

  • Undo the changes, and then continue debugging without the changes.

    —or—

    On the Debug menu, click Stop Debugging, make the changes, then start a new debugging session.

See Also

Reference

Supported Code Changes (C#)
Edit and Continue (Visual C#)

Concepts

Generics (C# Programming Guide)

Other Resources

Edit and Continue Errors and Warnings (C#)