CS.BANNED.GC_COLLECT

'System.GC.Collect()' または 'System.GC.Collect(int)' を明示的に呼び出さないでください。

この規則は、"System.GC.Collect" メソッドの明示的な呼び出しを識別します。エラーは発生ごとに報告されます。

脆弱性とリスク

ガベージコレクションは非常にコストがかかる可能性があるため、ベンチマークするコードを除いて、必ず避ける必要があります。

軽減と防止

ガベージコレクターは、適切である場合は常に、.NET Framework によって自動的に実行されます。ガベージコレクションをさらに制御する場合は、"Collect()" を呼び出す代わりに、独自のコードを作成する必要があります。

脆弱コード例

コピー
  namespace Examples.Rules.GC
  {
      public class GC
      {
      void Method()
          {
              try
              {
                  //..
             }
             finally
             {
                 //..
                 System.GC.Collect(); // VIOLATION
             }
         }
     }
 }

14 行目を削除することで、指摘は解決します。