C# 编辑并继续:错误 4059

更新:2007 年 11 月

错误消息

当启用“编辑并继续”后,修改包含编译器生成的代码中的活动语句的“[方法 | 属性 | 索引器 | 运算符 | 事件 | 构造函数 | 析构函数]”将会阻止调试会话继续进行

您试图修改包含编译器生成的代码中的活动语句的方法、属性、索引器、运算符、事件、构造函数或析构函数。“编辑并继续”在调试期间不支持此更改。

考虑下列代码:

class Disposable: System.IDisposable

{

   public void Dispose()

   {

   }

}

class Program

{

   static void Main(string[] args)

   {

      int a = 10;

      using (Disposable dipose = new Disposable())

      {

      }

   }

}

如果您在 dispose 方法中设置断点,然后开始调试应用程序并且尝试将 int a = 10 更改为 int a = 20,则会发生此错误。

更正此错误

  • 在“编辑”菜单上单击“撤消”以撤消更改

    - 或 -

    在“调试”菜单上单击“停止调试”,进行更改,然后启动新的调试会话。

请参见

参考

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

编辑并继续 (Visual C#)

其他资源

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