c# - 为什么 Visual Studio 设计器会删除代码?

标签 c# visual-studio visual-studio-2008

在我们当前项目的整个过程中,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/

相关文章:

c# - DateTime 解析包含一年中的某一天的字符串

c# - .NET COMVisible DLL 和 .动态链接库

c# - 无法从 SQLite 数据库中检索智能设备应用程序的记录

visual-studio - Visual Studio - 关闭解决方案资源管理器的键盘快捷方式

c++ - QWidget继承的类如何创建线程?

c# - 向 Serilog 添加自定义属性

c++ - 在 Visual Studio C++ 项目中嵌入 Mercurial 修订和变更集

c++ - VS 2017 构建工具失败,错误 MSB4019 : The imported project "D:\Microsoft.Cpp.Default.props" was not found

c# - Visual Studio 安装项目

c# - 对路径 '(Temp Folder)' 的访问被拒绝。将项目或类文件添加到我的 Visual Studio 解决方案时发生