Nie wiem, czy jest to zbyt szczegółowe pytanie, jeśli jest to możliwe, ale muszę podłączyć aplikację, która używa Castle Windsor do Unity, aby nie polegać na bibliotekach zatwierdzonych przez inną firmę niż microsoft. Wiem, że wiem, ale co masz zamiar zrobić.Castle Windsor to Unity - czy możesz automatycznie skonfigurować w Unity w taki sam sposób, jak w CW?
W każdym razie udało mi się, ale nie jestem zadowolony z tego, co mam. W Windsor miałem to:
Register(
AllTypes.Of(typeof(AbstractPresenter<>)).FromAssemblyNamed("Links.Mvp"),
AllTypes.Of(typeof(IView)).FromAssemblyNamed("Links.WinForms").WithService.FromInterface());
który ja przekształca się to w jedności
RegisterType<IMainView, MainView>();
RegisterType<IConfigureLinkView, ConfigureLinkView>();
RegisterType<IConfigureSourceView, ConfigureSourceView>();
RegisterType<IConfigureSinkView, ConfigureSinkView>();
RegisterType<MainPresenter, MainPresenter>();
RegisterType<ConfigureLinkPresenter, ConfigureLinkPresenter>();
RegisterType<ConfigureSourcePresenter, ConfigureSourcePresenter>();
RegisterType<ConfigureSinkPresenter, ConfigureSinkPresenter>();
Jak widać mam się rejestrować każdą rzecz, zamiast być w stanie wykorzystać jakąś automatycznej konfiguracji. Moje pytanie brzmi: czy istnieje lepszy sposób robienia tego w jedności?
Dzięki,
Adam.
pomysł byłoby wyrwać kod używany do rejestru() w źródle CastleWindsor, a uczynić metodę rozszerzenia off kontenera Unity. – eduncan911
Jeśli przeprowadzasz się do Unity, przyjmij moje kondolencje. Masz ochotę na świat pełen bólu, zwłaszcza jeśli używałeś Windsora szeroko i nietrywialnie. –