Если вы хотите получить доступ к базовому контейнеру, используемому Prism.Forms.В вашем случае DryIoc вы можете легко получить внутри метода RegisterTypes.
protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
containerRegistry.RegisterForNavigation<NavigationPage>();
AppContainer = containerRegistry.GetContainer(); //Assigning actual dryioc container
}
AppContainer - это свойство, объявленное в классе App.xaml.cs, как показано ниже.
Примечание: - GetContainerМетод - это метод расширения, доступный в пространстве имен Prism.DryIoc.Импорт пространства имен
using Prism.DryIoc;
//Private and Public variables
public partial class App
{
/// <summary>
/// Actual Dry Ioc Container which can be called and used for manual registering and resolving dependencies.
/// </summary>
public static IContainer AppContainer { get; set; }
}
Теперь вы можете использовать контейнер DryIoc, как показано ниже.
var authService = App.AppContainer.Resolve<IAuthenticationService>();//you need to register IAuthenticationService inside RegisterType Method.
Примечание: - импортируйте пространство имен DryIoc в ваш класс, в который вы звоните выше линиикода.
using DryIoc;
Happy Coding:)
Примечание: - Приведенный выше подход не рекомендуется, так как это сделает ваш класс /код не проверяется.