Чтобы зарегистрировать тип, синтаксис: ContainerRegistry.RegisterInstance<ITextService>(new TextService());
это регистрирует экземпляр не типа, кстати, для регистрации типа do ContainerRegistry.Register<IAnInterface, SomeImplementation>();
Но как мы можем зарегистрировать синглтон?
ContainerRegistry.RegisterSingleton<ITextService, TextService>();
делает это, и, между прочим, экземпляр является одноэлементным по своей природе (поскольку контейнер di всегда должен внедрить один зарегистрированный вами экземпляр, поскольку он не может самостоятельно создавать новые экземпляры)
есть ли способ заставить это сделать, кроме как сохранить экземпляр IContainerRegistry
и IContainerRegistry
из app.xaml.cs
и использовать его там, где нам нужно?
Я рекомендую регистрировать все в одном месте, а не разбрасывать регистрации по всему проекту. Но если вы полны решимости, вы можете ввести IContainerRegistry
в любом месте и зарегистрировать ваши материалы.