AttributeのConditionalを使ってみる
'ConditionalAttribute'を使うために"using System.Diagnostics;"を追加。
◎attri.txt
using System;
using System.Diagnostics;
class Program
{
[Conditional("TEST")]
static void Method1()
{
Console.WriteLine("Method1");
}
[Conditional("TRIV")]
static void Method2()
{
Console.WriteLine("Method2");
}
static void Method3()
{
Console.WriteLine("Method3");
}
static void Main(string[] args)
{
Method1();
Method2();
Method3();
}
}
シンボルは定義しないで普通にコンパイルして実行するとMethod3だけが実行される。
PS >.\attri.exe
Method3
シンボル定義をしてコンパイルし、実行するとConditional付きメソッドも実行される。
PS >csc .\attri.txt /define:TEST,TRIV
PS >.\attri.exe
Method1
Method2
Method3
※シンボルはカンマ区切りで複数指定できるようだ。