如何使 fx cop 警告 CS0067 静音?
Posted
技术标签:
【中文标题】如何使 fx cop 警告 CS0067 静音?【英文标题】:How to silence fx cop warning CS0067? 【发布时间】:2013-01-04 16:18:09 【问题描述】:在构建服务器上,我看到一些奇怪的消息。它没有这么说,但我认为它来自一些名为“fx cop”的软件
警告 CS0067:从未使用过事件“SunGard.Adaptiv.AnalyticsEngine.UI.CommonControls.DisabledCommand.CanExecuteChanged”
如何使这条消息静音?在不改变我的班级所做的事情的情况下。
sealed class DisabledCommand : ICommand
public event EventHandler CanExecuteChanged;
我偶然发现了 System.Diagnostics.CodeAnalysis.SuppressMessageAttribute
的文档,这听起来很有用,但我的警告没有任何示例。
【问题讨论】:
为什么不使用该事件或摆脱它? @RyanGates:来自界面。 请注意,以“CS”开头的错误代码来自 C# 编译器,而不是 FxCop。 FxCop 警告或错误将以“CA”开头(用于“代码分析”)。 【参考方案1】:如果你需要创建一个从不引发的事件,你应该创建一个 noop 事件:
public EventHandler CanExecuteChanged
add
remove
编译器抱怨是因为默认(“类字段”)事件将创建一个隐藏的支持字段来存储处理程序。由于您从不引发事件,因此该字段只会浪费内存。
【讨论】:
我会考虑使用显式接口实现来实现事件,所以直接使用实际实现类型时事件是隐藏的。 @RamondeKlein 我试过了,但警告并没有消失。以上是关于如何使 fx cop 警告 CS0067 静音?的主要内容,如果未能解决你的问题,请参考以下文章