我不知道这是否是太具体的问题,如果可能的话,但我需要转换一个使用Castle Windsor的应用程序到Unity,以便不依赖于非 Microsoft 批准的库。我知道我知道,但你会怎么做。
我已将其在Unity中转换为以下内容。
无论如何,我已经处理了,但我对自己得到的结果并不满意。在Windsor中,我有这样的代码:
Register(
AllTypes.Of(typeof(AbstractPresenter<>)).FromAssemblyNamed("Links.Mvp"),
AllTypes.Of(typeof(IView)).FromAssemblyNamed("Links.WinForms").WithService.FromInterface());
我已将其在Unity中转换为以下内容。
RegisterType<IMainView, MainView>();
RegisterType<IConfigureLinkView, ConfigureLinkView>();
RegisterType<IConfigureSourceView, ConfigureSourceView>();
RegisterType<IConfigureSinkView, ConfigureSinkView>();
RegisterType<MainPresenter, MainPresenter>();
RegisterType<ConfigureLinkPresenter, ConfigureLinkPresenter>();
RegisterType<ConfigureSourcePresenter, ConfigureSourcePresenter>();
RegisterType<ConfigureSinkPresenter, ConfigureSinkPresenter>();
你可以看到,我不得不注册每一个东西,而不能使用某种自动配置。所以我的问题是:在Unity中有更好的方法吗?
谢谢,
Adam。