WebformsMVP Implement a Ninject IPresenterFactory

本文关键字:IPresenterFactory Ninject Implement WebformsMVP | 更新日期: 2023-09-27 18:35:57

我正在构建一个概念验证webformsmvp网站。我想在创建演示器时使用 Ninject (v3.0) 来解决我的服务(和任何其他)依赖项。下面是我的演示器构造函数的示例:

public ParticipantPresenter(IParticipantDisplayView view, IParticipantService participantService) : base(view)

所以,我想让Ninject使用自定义IPresenterFactory解析IParticipantService实现。

作为参考,下面是需要实现的 IPresenterFactory 接口上方法的签名:

IPresenter Create(Type presenterType, Type viewType, IView viewInstance); 

我有一个问题;如果我实现并注册了我的 IPresenterFactory 实现,我是否负责解析表示器构造函数中的 View 参数?webformsmvp 框架没有为我解决这个问题,或者现在我选择提供自定义工厂实现,我现在是否承担解决视图的责任?

附言我注意到webformsmvp contrib项目上有一个实现,但这适用于Ninject v2。我一直在考虑重写Ninject3的代码。但这并不能帮助我回答这个问题。

WebformsMVP Implement a Ninject IPresenterFactory

经过一番尝试,事实证明,如果您实现自己的IPresenterFactory,则不负责解析视图。查看签名(同上):

IPresenter Create(Type presenterType, Type viewType, IView viewInstance);

viewInstance 包含由 webformsmvp 框架解析的视图实例。我想您有机会在工厂实现中对此实例执行一些操作。

在我的工厂里,我需要做的就是解析 presenterType,我通过委托给 Ninject 内核来做到这一点。

相关文章:
  • 没有找到相关文章