c# - 城堡 IOC - 解决循环引用

标签 c# castle-windsor castle

关于我的 MVP 实现的快速问题:

目前我有下面的代码,其中 presenter 和 view 都是通过容器解析的。
然后演示者调用 View.Init 将自己传递给 View 。

但是我想知道是否有办法让容器修复我的循环引用( View -> 演示者,演示者 -> View )。

class Presenter : IPresenter {
   private View _view; 

   public Presenter(IView view, ...){
    _view = view;
    _view.Init(this)
   }
}

class View : IView {
 private IPresenter _presenter;
 public void Init(IPresenter presenter){
  _presenter = presenter;
 }
}

亲切的问候

弗雷德里克

最佳答案

您可以使用属性 setter 而不是将引用传递给构造函数。

关于c# - 城堡 IOC - 解决循环引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1783124/

相关文章:

asp.net-mvc - 是否有与 ASP.Net MVC 框架的 Monorail View 组件等效的组件?

inversion-of-control - CaSTLe Windsor 是否允许解析值类型?

c# - Web API 不会将 bool 返回类型序列化为 json boolean 值

c# - 将所有 xml 属性从一个节点复制到另一个节点

c# - 泛型——需要说明

dependency-injection - 使用 CaSTLe Windsor 子容器来解析具有特定实例的类型

c# - 在 CaSTLe Windsor 中将参数传递给 UsingFactoryMethod

c# - 实时绘制变量图形以在 C# 中进行调试

asp.net-mvc - 使用 CaSTLe Windsor 在 ASP.NET MVC 中实现 Multi-Tenancy 的最佳实践是什么?

c# - 使用 CaSTLe 容器中的已注册组件为另一个组件提供依赖项