由 Visual Studio 创建的任何 winform 的 *.Designer.cs 文件中的方法定义均未使用 [GeneeratedCodeAttribute] 属性进行修饰。因此,当我运行代码指标或代码分析时,会分析生成的代码。有谁知道为什么不提供该属性(毕竟它是生成的代码)?自己添加它是否安全(重新生成代码时它会消失,还是生成仅发生在方法体内)?如果我要添加它,Visual Studio 2010 的正确工具和版本字符串是什么?
最佳答案
嗯,这很棘手,它实际上并不是自动生成的代码。 Designer.cs 文件由项目项模板生成。 Windows 窗体设计时序列化程序仅重新生成 InitializeComponent() 方法主体并将控件声明附加到文件底部。
这并不能真正帮助您解决问题。我能想到的最有效的解决方法是简单地编辑模板。在我的机器上,这是 c:\program files\microsoft Visual Studio 10.0\common7\ide\itemtemplatescache\csharp\windows forms\1033\form.zip\form.designer.cs,将属性放在方法之前。您使用什么并不重要,没有工具会期望存在此属性。
关于c# - 生成的 WinForm 代码中缺少属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2768764/