【发布时间】:2013-02-11 19:21:40
【问题描述】:
我正在使用由第 3 方程序集公开的枚举,例如,
public enum APIEnum
{
Val1,
Val2
}
。但是,其中一些值会导致我的应用程序出现错误行为。如果代码中使用了这些“坏”枚举值之一,我想生成编译器警告,例如,
APIEnum usedVal = APIEnum.Val2;
Compiler Warning: APIEnum.Val2 causes incorrect behavior.
我的最终目标是生成一个警告,如果使用了错误的值(占总案例的 2%),则必须有意识地#pragma'd。否则,会出现警告,并且由于我们将警告视为错误,因此会中断编译,直到修复或 #pragma'd。
我已经查看了线程 here 和 here 使用 Obsolete 属性来解决这个问题,但我担心 Obsolete 会引起混淆,因为该值并没有真正过时。
我已经考虑过使用 Resharper 代码分析插件来解决问题的可能性,这绝对是一种选择。我不是 Resharper 方面的专家,也不是如何通过 Resharper 最好地解决问题的专家。
【问题讨论】:
标签: c# visual-studio resharper code-analysis fxcop