C# C中的名称空间常量#
有没有办法为整个名称空间定义常量,而不仅仅是在类中?例如:C# C中的名称空间常量#,c#,namespaces,constants,C#,Namespaces,Constants,有没有办法为整个名称空间定义常量,而不仅仅是在类中?例如: namespace MyNamespace { public const string MY_CONST = "Test"; static class Program { } } 给出一个编译错误,如下所示: 预期的类、委托、枚举、接口或结构这是不可能的 发件人: const关键字用于修改字段或局部变量的声明 由于类中只能有字段或局部变量,这意味着不能有全局常量。(即名称空间常量)不,没有。将
namespace MyNamespace
{
public const string MY_CONST = "Test";
static class Program
{
}
}
给出一个编译错误,如下所示:
预期的类、委托、枚举、接口或结构这是不可能的
发件人:
const关键字用于修改字段或局部变量的声明
由于类中只能有字段或局部变量,这意味着不能有全局
常量。(即名称空间常量)不,没有。将它放在静态类或枚举中。我认为这是不可能的。但是您可以创建一个只包含常量的类
public static class GlobalVar
{
public const string MY_CONST = "Test";
}
然后像这样使用它
class Program
{
static void Main()
{
Console.WriteLine(GlobalVar.MY_CONST);
}
}
如果您还添加了“Using Static”,则可以在其他类中使用常量:
+1由于这是Microsoft推荐的方法,另一种实现方法是使用web.config或app.config(取决于您使用的是哪种)。请注意,“常量变量”是一个矛盾修饰法。变量是不同的,这就是为什么它们被称为“变量”。常数保持不变,这就是为什么它们被称为常数。变量是存储位置,常量是值。他们完全不同;不可能有“常量变量”这样的东西。
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);
}