Как DI Frameworks, такие как StructureMap / Lamar, "на самом деле" инициализируют зависимости, введенные конструктором?
Предыстория моего вопроса: предположим, что существует служба A, которая вводится с помощью службы B следующим образом:
Public class ServiceA
{
public ServiceA(IServiceB serviceB)
{
}
}
Предположим, что в реестре служб я определил настраиваемый IFamilyPolicy, который определяет определенный тип конкретного типа, который должен быть создан индивидуальным образом везде, где вводится IServiceB.
Когда среда выполнения приложения попадает в конструктор ServiceA, я вижу, что он полностью игнорирует то, что настраиваемый экземпляр, который я определил в реестре служб для IServiceB, и напрямую переходит к конструктору по умолчанию конкретного типа ServiceB!
Я ожидал, что структура DI всегда будет выбирать основную политику регистрации типа, где бы он ни вводился.
Пожалуйста, дайте мне знать, если мой вопрос ясен.