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 行目を削除することで、指摘は解決します。