Предположим, у меня есть две службы (A и B), зарегистрированные как ISomeService. Также предположим, что в будущем мне понадобятся классы, которым понадобится один из этих сервисов. Но я еще не знаю названий классов. Все, что я знаю, это то, что они реализуют данный интерфейс или абстрактный класс (все классы, реализующие данный интерфейс, нуждаются в одном и том же экземпляре ISomeService). Как я могу убедиться, что это разрешение происходит?
Вот связанный вопрос, где имя класса, использующего разрешенный сервис, известно. Но в моем случае имя класса CustomerRepository заранее неизвестно. Известно только имя интерфейса (например, IUserRepository или IFunctionRepository) или абстрактного класса. Другими словами, я просто знаю, что SomeRepository: IUserRepository и что типы IUserRepository нуждаются в A. Я должен разрешить пользователю писать больше классов, реализующих IUserRepository.
Вот как лучше поставить вопрос. Мне нужно, чтобы все конструкторы IFunctionRepository получили A (где A: ISomeService) и все конструкторы IUserRepository получили B (где B: ISomeService)