我不知道这是否是一个太具体的问题,如果可能的话,但我必须将使用 Castle Windsor 的应用程序移植到 Unity,这样就不会依赖非微软批准的库。我知道我知道,但你要做什么。
无论如何,我已经做到了,但我对我所拥有的并不满意。在温莎我有这个:
Register(
AllTypes.Of(typeof(AbstractPresenter<>)).FromAssemblyNamed("Links.Mvp"),
AllTypes.Of(typeof(IView)).FromAssemblyNamed("Links.WinForms").WithService.FromInterface());
我已经统一转换为这个
RegisterType<IMainView, MainView>();
RegisterType<IConfigureLinkView, ConfigureLinkView>();
RegisterType<IConfigureSourceView, ConfigureSourceView>();
RegisterType<IConfigureSinkView, ConfigureSinkView>();
RegisterType<MainPresenter, MainPresenter>();
RegisterType<ConfigureLinkPresenter, ConfigureLinkPresenter>();
RegisterType<ConfigureSourcePresenter, ConfigureSourcePresenter>();
RegisterType<ConfigureSinkPresenter, ConfigureSinkPresenter>();
如您所见,我必须注册每一件事,而不是能够使用某种自动配置。所以我的问题是:有没有更好的统一方式来做到这一点?
谢谢,
亚当。