プリプロセッサ
プリプロセッサとは、ソフトウェアの役割による分類の一つで、ある中心的な処理を行うプログラムに対して、その前処理(preprocess)を行うプログラムのこと
機能一覧
If属性
C#とは関係なく、コード自体が実行されるかどうかを定義します
サンプルコード
#define TEST
using System;
public class ThreadTimerTest
{
public static void Main()
{
#if TEST
Console.WriteLine("Test1");
#else
Console.WriteLine("Test2");
#endif
}
}
defineありの結果
Test1
defineなしの結果
Test2
Conditional属性
特定のメソッドをメソッド自体がないかのように振る舞います
実行時、呼び出し元のコードからも記述が消えるイメージです
サンプルコード
#define TEST
using System;
// Diagnosticsのusingが必要
using System.Diagnostics;
public class ThreadTimerTest
{
public static void Main()
{
// TESTの定義がないと(#define TESTがないと)実行もされません
Show();
}
[Conditional("TEST")]
static void Show()
{
Console.WriteLine("Hello World");
}
}
defineありの結果
Hello World
defineなしの結果
何も表示されません
Unityの場合
defineの有効無効の全コードへの適用
Unityの場合、ここに宣言(名前だけ)を記述するとプロジェクト全体に反映させることもできます
ディスカッション
コメント一覧
まだ、コメントがありません