我正在使用C#中的WPF应用程序.我在静态类中定义了许多常量,如下所示:
PROJECT1:
namespace MyCompany
{
public static class Constants
{
public static int MY_CONSTANT = 123456;
}
}
Run Code Online (Sandbox Code Playgroud)
然后我需要做的就是在Project 1中的任何地方访问我的常量:
int x = Constants.MY_CONSTANT;
Run Code Online (Sandbox Code Playgroud)
现在我将另一个项目添加到同一个解决方案中,并使用相同的根命名空间:
项目2
namespace MyCompany.MyControl
{
class VideoControl
{
int x;
x = Constants.MY_CONSTANT; //<-- doesn't work
x = MyCompany.Constants.MY_CONSTANT; //<-- doesn't work either
}
}
Run Code Online (Sandbox Code Playgroud)
我只是无法找到从第二个程序集访问我的静态Constants类的方法.我也无法添加对第一个程序集的引用,因为它导致循环依赖(第二个项目程序集是第一个项目程序集使用的WPF控件).
我正在努力做甚么可能吗?目前我的解决方法是在构造函数中传递所有必需的常量,但我宁愿直接访问它们.
小智 2
您可以将所有静态常量从项目 1 移动到项目 2,因此,所有常量对项目 1 和项目 2 都可见;我建议引入另一个项目(可能是常见的),它可以帮助管理所有其他项目共享的所有内容。这是一个共同的基础设施项目。