c# - 生成的 WinForm 代码中缺少属性

标签 c# visual-studio winforms code-generation code-analysis

由 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/

相关文章:

c# - 按数字排序字符串列表

java - 像 C#/Java 这样的高级语言屏蔽移位计数操作数的原因是什么?

visual-studio - 如何使用Visual Studio(vsdiffmerge)作为SourceTree for Mercurial中的外部差异工具?

c++ - 在 Visual Studio Ctrl+F5 中发布版本比从外部 VS 慢 10 倍

c# Focus() 似乎触发了 Leave() 方法

c# - Entity Framework + Windows 窗体 : Lifetime and Data Binding

c# - 如何在 WPF 中绑定(bind)用作 DataGridTemplateColumn 的用户控件失败

c# - 如何在 C# 的消息框中显示 3 层应用程序中 SQL 异常(唯一标识符)的错误消息?

visual-studio - 使用 azure appcenter 的移动应用程序的诊断日志

c# - 如何暂停代码直到我想要? [类似于 Thread.Sleep(int);]