私は次のクラスを持っています:
public class ViewPage<TView,TPresenter> : Page
where TView : IView
where TPresenter : Presenter<TView>
{
public ViewPage()
{
if (!(this is TView))
throw new Exception(String.Format("The view must be of type {0}", typeof(TView)));
IWindsorContainer container = new WindsorContainer();
container.AddComponent("view", typeof(IView), typeof(TView));
container.AddComponent("presenter", typeof(Presenter<TView>), typeof(TPresenter));
TPresenter presenter = container[typeof(TPresenter)] as TPresenter;
}
}
これはプレゼンター コードです。
public class Presenter<T> where T : IView
{
public T View { get; private set; }
public Presenter(T view)
{
this.View = view;
}
}
新しいオブジェクトをインスタンス化する代わりに、現在のインスタンスViewPage
をTPresenter
viaに渡したいと思います。Windsor
どうすればこれを達成できますか? ありがとう。