C# 编辑并继续:错误 4004

当启用“编辑并继续”后,编辑或删除构造函数声明上的活动语句将会阻止调试会话继续进行。

此错误指示您尝试编辑活动的构造函数声明。 “编辑并继续”不支持在调试过程中更改活动的构造函数声明。 有关更多信息,请参见 活动语句

例如,考虑下面的代码:

class Program

{

   string arg;

   Program(): this(null)

   {

   }

   Program(string arg)

   {

      this.arg = arg;

   }

   static void Main()

   {

      Program p = new Program();

   }

}

如果您在 this(null) 处设置断点,调试应用程序并尝试将 this(null) 编辑为 this("Hello"),则将发生此错误。

修复此问题

  • 逐句通过代码,直到经过构造函数声明。 在该点更改将被自动应用。

    - 或 -

    撤消更改,然后在不进行更改的情况下继续调试。

    - 或 -

    结束调试会话,进行更改,然后开始新的调试会话。

请参见

参考

受支持的代码更改 (C#)

编辑并继续 (Visual C#)

其他资源

“编辑并继续”错误和警告 (C#)