Я не знаю, является ли это слишком конкретным вопросом, если это возможно, но мне нужно перенести приложение, которое использует Castle Windsor для Unity, чтобы не было уверенности в том, что библиотеки, не одобренные для Microsoft. Я знаю, что знаю, но что ты собираешься делать.Castle Windsor to Unity - можете ли вы автоматически настроить в Unity так же, как вы можете в CW?
Во всяком случае, я справился с этим, но я не доволен тем, что у меня есть. В Виндзоре Я это:
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>();
Как вы можете видеть, у меня зарегистрировать каждую вещь, а не быть в состоянии использовать какой-то автоконфигурации. Поэтому мой вопрос: есть ли лучший способ сделать это в единстве?
Thanks,
Adam.
идея будет выдирать код, используемый для регистра() в источнике CastleWindsor, и сделать метод расширения от контейнера Unity. – eduncan911
Если вы переезжаете в Единство, примите мои соболезнования. Вы готовы к миру боли, особенно если вы широко использовали Виндзор и нетривиально. –