CS.METHOD.EMPTY
空のメソッドを避けます。
この規則では、本体が空のメソッドを宣言するコードを識別します。エラーは発生ごとに報告されます。
注意:この規則は、ポリモーフィズムの使用を予約するための、'abstract'、'virtual'、または 'override' のメソッドには適用されません。
脆弱性とリスク
開発中に、後で実装されるもののためのプレースホルダーとして、空のメソッドが導入されることがよくあります。ロギングメソッドや、異常な状況で重要なアクションを行う必要があるメソッドなどの、重要なメソッドを実装しないでおくと、セキュリティが危険にさらされる可能性があります。
軽減と防止
この性質の見落としを避けるために、(おそらく違反の抑制により) 明示的に許可されていない限り、空のメソッドは確実になくしておくことが最善です。
脆弱コード例
コピー
namespace examples.rules.misc
{
public class EM
{
protected static void EmptyMethod(){} //VIOLATION
public static void Main()
{
EmptyMethod();
System.Console.WriteLine("EmptyMethods is called.");
}
}
}
5 行目を削除することで、指摘は解決します。