端くれプログラマの備忘録 C# [C#] デバッグ時にのみ実行したいメソッドを定義する

[C#] デバッグ時にのみ実行したいメソッドを定義する

条件属性(Conditional属性)を使う方法

次のようにメソッドにConditional(“DEBUG”)属性を付ければよい。

using System;
using System.Diagnostics;

namespace ConsoleApplication1
{
  class Class1
  {
    [STAThread]
    static void Main(string[] args)
    {
      Console.WriteLine("Mainメソッド実行");
      Class1.Test("Testメソッド実行");
      // Class1.Testメソッドはデバッグ時のみ実行
    }

    [Conditional("DEBUG")]
    static private void Test(string message)
    {
      Console.WriteLine(message);
    }
  }
}

条件付きコンパイル・ディレクティブ(#ifディレクティブ)を使う方法

#if DEBUG~#endifディレクティブにより、デバッグ時にのみ実行したいコードを囲えばよい。

using System;
using System.Diagnostics;

namespace ConsoleApplication1
{
  class Class1
  {
    [STAThread]
    static void Main(string[] args)
    {
      Console.WriteLine("Mainメソッド実行");
#if DEBUG
      Class1.Test("Testメソッド実行");
#endif
      // Class1.Testメソッドはデバッグ時のみ実行
    }

#if DEBUG
    static private void Test(string message)
    {
      Console.WriteLine(message);
    }
#endif
  }
}

参考サイト

テスト用コードをデバッグ時にのみ実行するには?:.NET TIPS – @IT
https://atmarkit.itmedia.co.jp/ait/articles/0501/07/news097.html