在不添加引用的情况下调用另一个项目的类

时间:2016-11-03 11:17:27

标签: c# .net

我有一个场景,我需要从项目A调用项目B中的类。由于循环引用问题,我无法在A中添加B的引用。

有没有办法在不添加引用的情况下调用其他函数中的类?

2 个答案:

答案 0 :(得分:3)

这是不可能的,并且可能需要在其中一个方向进行重构:

  • 合并两个需要互相引用的项目'进入一个更大的项目。可能的缺点:一个包含太多,或有太多责任或混合层(例如DAL,BL)的巨大项目。特别是如果它涉及超过2个项目开始。
  • 将冲突的部分移出proj1,2 ... n,然后移入新的projX。然后参考proj1,2 ... n。
  • 的projX
  • 识别if (dataGridView1.SelectedRows[0].DefaultCellStyle.BackColor == Color.Red) { int row = this.dataGridView1.CurrentCell.RowIndex; if (MessageBox.Show("Check-out?", "Message de confirmation", MessageBoxButtons.YesNo) == DialogResult.Yes) { using (checkinentrepriseEntities2 context = new checkinentrepriseEntities2()) { badge badge = new badge(); badge badverif = context.badge.FirstOrDefault(x => x.id == row); if (badverif != null) { badverif.bool_badge = 0; } ,并将它们放在像projX这样的中心位置。使proj1,2 ...中的所有(或冲突项)从接口继承。使用接口类型而不是对象类型传递对象。

答案 1 :(得分:0)

解决方案的关键在于:due to circular reference issue这意味着您应该将逻辑分离到第三个程序集,以便添加引用。