在我们当前项目的整个过程中,visual studio 设计人员多次进行修改,导致代码丢失。例如,在设计器代码中手动设置的事件处理程序连接丢失了。有谁知道为什么会这样?
编辑:我知道手动编辑这些文件不是一个好主意,但它也发生在通过设计器设置的其他事件连接中。
最佳答案
对于初学者来说,请阅读 designer.cs 文件顶部的 XML。
/// <summary>
/// Required method for Designer support - do not modify
/// contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
通常您不应该修改这些文件,因为它们是自动生成的。这可能是为什么有轻微的尝试将代码隐藏在主要部分类下面的分支中的原因。
我有时发现该进程已经删除了它自己的自动生成的代码,我不得不重新合并这些代码。最常见的是它决定不再实例化自定义用户控件,所以当我开始运行时我得到空引用异常。
真正的答案是将代码放在其他地方,比如在调用 InitializeComponent() 方法之前的构造函数中。如果其他开发人员不知道这一点,那么您应该通知他们并教育他们,文件是 .designer.cs 的事实甚至应该让新开发人员质疑为什么会有奇怪的扩展名。
关于c# - 为什么 Visual Studio 设计器会删除代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2364398/