如何访问同一命名空间中的静态类但是另一个程序集?

Ete*_*l21 5 c# wpf namespaces

我正在使用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 都可见;我建议引入另一个项目(可能是常见的),它可以帮助管理所有其他项目共享的所有内容。这是一个共同的基础设施项目。