C#
プリプロセッサディレクティブを使用して、コードの一部のコンパイルを有効/無効にできることを知っています。
同じファイルでディレクティブを定義すると、正常に機能します。
#define LINQ_ENABLED
using System;
using System.Collections.Generic;
#if LINQ_ENABLED
using System.Linq;
#endif
今、私はC++
このすべての構成ディレクティブを単一のヘッダーファイル内に配置し、そのようなディレクティブが必要なすべてのファイルにインクルードすることに慣れています。
私がC#
何かで同じことをした場合、うまくいきません:
//Config.cs
#define LINQ_ENABLED
//MyClass.cs
#define LINQ_ENABLED
using System;
using System.Collections.Generic;
#if LINQ_ENABLED
using System.Linq;
#endif
次のことも試しましたが、名前空間内にディレクティブを定義できないようです。
//Config.cs
namespace Conf{
#define LINQ_ENABLED
}
//MyClass.cs
#define LINQ_ENABLED
using System;
using System.Collections.Generic;
using Conf;
#if LINQ_ENABLED
using System.Linq;
#endif
- 私は何が間違っているのですか?
- のさまざまなファイルでプリプロセッサを使用する正しい方法は何
C#
ですか? - それを行うためのより良い方法はありますか?