Я работаю с приложением WPF в C#. У меня есть ряд констант, определенных в статическом классе, как:Как получить доступ к статическому классу в том же пространстве имен, но другой сборке?
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
}
}
Я просто не могу понять, как получить доступ к моему статическому классу Constants из второй сборки. Я также не могу добавить ссылку на первую сборку, потому что она приводит к циклической зависимости (вторая сборка проекта - это элемент управления WPF, используемый первой сборкой проекта).
Является ли то, что я пытаюсь сделать, даже возможно? В настоящее время мое обходное решение передает все необходимые константы в конструкторе, но я бы хотел просто получить к ним доступ напрямую.
Вам нужна ссылка - вам нужно будет решить свою круговую зависимость - возможно, переместите класс констант на 3-ю сборку, которую могут ссылаться обе другие сборки. – Blorgbeard
рядом с точкой: если вы хотите константу, почему бы вам не объявить ее константой 'public const int MY_CONSTANT = 123456;'? – Hinek