Conditional属性

最近、C#のAttributeについてはまってたりしてます。
なので、いろいろ調べてみた。
まずは、代表(?)的なAttributeのConditionalAttribute。

戻り値なし(void)のメソッドに、属性を付加します。
この属性がついていると、プロジェクトのプロパティのビルド、条件付きコンパイルシンボルに定義で、処理の有効/無効が可能になります。

標準で、DEBUGとTRACEの定義はチェックボックスでON/OFFできるようになってます。
それ以外は自分で記述!

using System.Diagnostics;
 
[Conditional("TestConditional")]
static void Print()
{
    Debug.WriteLine("Print Method");
}
 
static void Main(string[] args)
{
    Print();
    Debug.WriteLine("Test");
}

[実行結果(定義なし)]


[実行結果(定義あり)]


こんな感じ