我正在使用C#中的WPF應用程序。我公司擁有一批在靜態類定義爲以下常量:如何訪問同一個命名空間中的靜態類,但另一個程序集?
PROJECT1:
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控件)。
我試圖做甚至可能嗎?目前我的解決方法是在構造函數中傳遞所有必需的常量,但我寧願直接訪問它們。
你需要一個引用 - 你需要解決你的循環依賴 - 可能將常量類移出到第三個程序集中,這兩個程序集都可以引用。 – Blorgbeard
旁邊的點:如果你想要一個常量,爲什麼不把它聲明爲一個常量'公共const int MY_CONSTANT = 123456;'? – Hinek