Суть задачи - имеется интерфейс ITest.
Для него существует реализация на основе класса TestClass1.
В методе ConfigureServices создается привязка следующим образом:
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton<ITest, TestClass1>();
}
После запуска приложение использует экземпляр зависимости на основе TestClass1 через обращение к IServiceProvider.GetService().
Что произойдет, если во время выполнения приложения необходимо осуществить перепривязку интерфейса от типа TestClass1 к типу TestClass2, тоже реализующему интерфейс ITest? Какой подход используется в этом случае?
Как подходить к такой ситуации, если в некоторых случаях привязка singleton-объекта должна быть строгой, без возможности перепривязывания, а в некоторых допускается перепривязка.