避免使用未呼叫的私用程式碼
更新:2007 年 11 月
型別名稱 |
AvoidUncalledPrivateCode |
CheckId |
CA1811 |
分類 |
Microsoft.Performance |
中斷變更 |
非中斷 |
原因
private 或 internal (組件層級) 成員在組件中沒有呼叫端,不會由 Common Language Runtime 叫用,而且委派也未叫用該成員。此規則不會檢查下列成員:
明確介面成員
靜態建構函式
序列化 (Serialization) 建構函式
以 System.Runtime.InteropServices.ComRegisterFunctionAttribute 或 System.Runtime.InteropServices.ComUnregisterFunctionAttribute 標示的方法
做為覆寫的成員
規則描述
如果有規則邏輯目前未識別的進入點 (Entry Point),此規則會產生誤報。此外,編譯器 (Compiler) 可以將不可呼叫的程式碼發出到組件中。
如何修正違規
若要修正此規則的違規情形,請移除不可呼叫的程式碼,或加入可呼叫該程式碼的程式碼。
隱藏警告的時機
您可以放心地隱藏這項規則的警告。
相關規則
範例
如果在前置處理器 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
}
}
}