城堡IOC - 解决循环引用
问题描述:
我的MVP实现快速的问题:
quick question for my MVP implementation:
目前我有下面的代码,其中既有演示和视图通过容器解析结果
然后主持人呼吁View.Init自己传递给视图。
currently I have the code below, in which both the presenter and view are resolved via the container.
Then the presenter calls View.Init to pass himself to the view.
不过,我不知道是否有一种方法可以让容器修复我的循环引用(查看 - >主持人,主持人 - >视图)
I was wondering however if there is a way to let the container fix my circular reference (view -> presenter, presenter -> 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;
}
}
亲切的问候
Kind regards
弗雷德里克
答
您可以使用属性的setter方法,而不是通过引用到构造。
You could use a property setter instead of passing the reference into the constructor.