クラス内だけでなく、名前空間全体に定数を定義する方法はありますか?例えば:
namespace MyNamespace
{
public const string MY_CONST = "Test";
static class Program
{
}
}
次のようにコンパイルエラーが発生します。
予想されるクラス、デリゲート、列挙、インターフェイス、または構造体
それは不可能だと思います。ただし、定数のみでクラスを作成できます。
public static class GlobalVar
{
public const string MY_CONST = "Test";
}
そして、それを次のように使用します
class Program
{
static void Main()
{
Console.WriteLine(GlobalVar.MY_CONST);
}
}
これは不可能です
[〜#〜] msdn [〜#〜] から:
constキーワードは、フィールドまたはローカル変数の宣言を変更するために使用されます。
クラス内にはフィールドまたはローカル変数しか持てないため、これはグローバルconst
を持つことができないことを意味します。 (つまり、名前空間const)
いいえ、ありません。静的クラスまたは列挙に入れます。
「静的を使用」も追加すると、他のクラスで定数を使用できます。
using static MyNameSpace.MyGlobals;
namespace MyNameSpace {
public static class MyGlobals{
public const bool SAVE_LOGSPACE = true;
public static readonly DateTime BACKTEST_START_DATE = new DateTime(2019,03,01);
}