如何避免 .aspx.designer.cs 文件中的 CA1051:DoNotDeclareVisibleInstanceFields?
Posted
技术标签:
【中文标题】如何避免 .aspx.designer.cs 文件中的 CA1051:DoNotDeclareVisibleInstanceFields?【英文标题】:How to avoid CA1051:DoNotDeclareVisibleInstanceFields in .aspx.designer.cs files? 【发布时间】:2012-05-07 08:34:54 【问题描述】:使用 Visual Studio 2010 中的内置代码分析,我在 aspx 文件的设计器文件的所有字段中都获得了 CA1051。
Warning 111
CA1051 : Microsoft.Design : Because field 'Product.PageTitle' is visible
outside of its declaring type, change its accessibility to private
and add a property, with the same accessibility as the field has
currently, to provide access to it.
Product.aspx.designer.cs 22
我不想删除其他文件的规则。 我不想手动编辑生成的设计器文件。
我能否以其他方式避免此消息,然后在错误列表中逐个字段地抑制消息?
【问题讨论】:
【参考方案1】:将 Product.PageTitle 设为私有。如果您想在 Product 类之外公开它,请为其创建一个属性。
目前情况:
public/internal string PageTitle;
期望的情况:
public/internal string PageTitle get; set;
【讨论】:
//---------------------------------------- -------------------------------------- // //这段代码是由工具生成。 // // 对此文件的更改可能会导致不正确的行为,如果重新生成代码,则会丢失 // // 代码。 // 自动生成> //---------------------------------------- -------------------------------------------------- /// 自动生成的字段。 /// 修改从设计器文件到代码隐藏文件的移动字段声明。 是的,但如果我不需要,我不想手动编辑所有设计器文件。我认为在设计器文件中有声明是一件好事。添加一个新的局部类似乎有点矫枉过正。我希望有一些替换规则或匹配模式可以用来简单地避免生成的文件。以上是关于如何避免 .aspx.designer.cs 文件中的 CA1051:DoNotDeclareVisibleInstanceFields?的主要内容,如果未能解决你的问题,请参考以下文章