Я разрабатываю 2 приложения. Один из них использует Prism.Autofac в WPF, а другой - с Prism.Unity в Xamarin Forms.Prism.Autofac.Forms Impelementation
Оба приложения работают, но у меня есть один PCL, где я использую предложения компилятора для использования Prism.Autofac или Prism.Unity.Forms в зависимости от случая.
Ну, я пытаюсь реализовать Autofac в обоих приложениях, но я не могу зарегистрировать типы на Xamarin.Forms.
Например, с Unity я это делаю:
Container.RegisterInstance(Xamarin.Forms.DependencyService.Get<SomeService>());
Но Autofac "RegisterInstance" метод не существует. Я пытаюсь много способов для достижения этой цели, и я обнаружил, что ContainerBuilder класс имеет этот метод, но если я делаю это:
ContainerBuilder builder = new ContainerBuilder();
builder.RegisterInstance(Xamarin.Forms.DependencyService.Get<SomeService>());
Использование экземпляра ContainerBuilder, PRISM Контейнер не признает мои пользовательские классы/Услуги вроде зарегистрированный экземпляр, поэтому конструктор ViewModel не может быть создан.
Итак, мой вопрос: как я могу использовать методы RegisterInstance и RegisterType только с контейнером PRISM (без экземпляра ContainerBuilder)? и если это невозможно, и мне нужно создать экземпляр ContainerBuilder, как контейнер PRISM может «зарегистрировать» мои пользовательские типы?
Заранее спасибо
[? Вы читали документы] (http://autofac.readthedocs.io/en/latest/register/ registration.html) –
Да, это я прокомментировал. Класс ContainerBuilder имеет эти методы, но как я могу использовать их с контейнером, который использует PRISM? – gsaldana
Вы спросили, как выполнить методы. Документы показывают примеры. Если вы видите ошибку или что-то еще не работает, это не ясно из вашего вопроса. «Объекты не распознаются» ничего не значит. Есть ли исключение? Что-то не так? Требуется дополнительная информация. –