【发布时间】:2012-06-23 06:27:04
【问题描述】:
我正在使用 C# 中的 WPF 应用程序。我在静态类中定义了许多常量,如下所示:
项目1:
namespace MyCompany
{
public static class Constants
{
public static int MY_CONSTANT = 123456;
}
}
那么我需要做的就是在项目 1 中的任何地方访问我的常量:
int x = Constants.MY_CONSTANT;
现在我将另一个项目添加到同一个解决方案中,并使用相同的根命名空间:
项目 2
namespace MyCompany.MyControl
{
class VideoControl
{
int x;
x = Constants.MY_CONSTANT; //<-- doesn't work
x = MyCompany.Constants.MY_CONSTANT; //<-- doesn't work either
}
}
我只是想不出从第二个程序集中访问我的静态常量类的方法。我也无法添加对第一个程序集的引用,因为它会导致循环依赖(第二个项目程序集是第一个项目程序集使用的 WPF 控件)。
我正在尝试做的事情是否可能?目前我的解决方法是在构造函数中传递所有必需的常量,但我宁愿直接访问它们。
【问题讨论】:
-
你需要一个引用——你需要解决你的循环依赖——也许将常量类移到其他程序集都可以引用的第三个程序集中。
-
题外话:如果你想要一个常量,为什么不将它声明为常量
public const int MY_CONSTANT = 123456;?
标签: c# wpf namespaces