У меня есть два проекта, один является Winform приложение другая является библиотекакласса. Я добавил ссылку на библиотеку классов в Winform и назвал метод библиотеки классов. Теперь я хочу вызвать другой метод в приложении winform из библиотеки классов, но я не могу добавить ссылку на winform в библиотеку классов.Вызов «Форма» метод класса из класса «А» без добавления ссылки на «форма» класса
В КОД: -
public partial class Form1 : Form
{
private void btn_Click(object sender, EventArgs e)
{
A obj = new A();
obj.foo();
}
public string Test(par)
{
//to_stuff
}
}
и в классе библиотеки
class A
{
public void foo()
{
//Do_stuff
//...
Test(Par);
//Do...
}
}
Вам нужно заново спроектировать его тогда. Если вы можете привести убедительный пример того, почему вы, возможно, должны это сделать, возможно, мы можем предложить другой способ приблизиться к нему. Как бы то ни было, ваш вопрос слишком расплывчатый. –
Единственный способ создать контрактную сборку, определить в ней интерфейс, реализовать этот интерфейс по форме и передать ссылку этого интерфейса в библиотеку. Обе ваши текущие сборки могут ссылаться на эту контрактную сборку. –
Yup. Вы пытаетесь создать круговую ссылку (и вообще круговую зависимость), что является ужасной идеей. Не делай этого. Почему * * вам когда-нибудь нужно было что-либо вызывать из проекта winforms в вашей библиотеке классов? – Luaan