避免使用未调用的私有代码
更新:2007 年 11 月
TypeName |
AvoidUncalledPrivateCode |
CheckId |
CA1811 |
类别 |
Microsoft.Performance |
是否重大更改 |
否 |
原因
某个私有或内部(程序集级别)成员在程序集中没有调用方,既不是由公共语言运行时调用的,也不是由委托调用的。该规则不检查下列成员:
显式接口成员。
静态构造函数。
序列化构造函数。
使用 System.Runtime.InteropServices.ComRegisterFunctionAttribute 或 System.Runtime.InteropServices.ComUnregisterFunctionAttribute 标记的方法。
作为重写的成员。
规则说明
如果当前存在该规则逻辑标识不能识别的入口点,则该规则会报告误报。另外,编译器可以将不可调用的代码发出到程序集中。
如何修复冲突
要修复与该规则的冲突,请移除不可调用的代码或者添加调用该成员的代码。
何时禁止显示警告
可以安全地禁止显示此规则发出的警告。
相关规则
示例
如果在预处理器 if# 区域中调用某个成员,则此规则将误报。
using System;
namespace SampleNamespace
{
class SampleClass
{
static void Main()
{
}
public void NotifyByEMail(string to)
{
// ...
}
public void AnotherMethod()
{
#if !DEBUG
NotifyByEMail("this.that@someplace.com");
#endif
}
}
}