У меня есть служба, которая принимает IMyDependency в своем конструкторе. IMyDependency, MyDependency и служба находятся в одной сборке. MyDependency имеет единственный общедоступный конструктор без параметров.
К моему удивлению, это не сработало:
container.RegisterAutoWired<IMyDependency>();
Он выдает «System.NullReferenceException».
Это работает, если я делаю это:
container.RegisterAutoWiredAs<MyDependency, IMyDependency>();
Но тогда и это:
container.RegisterAs<MyDependency, IMyDependency>();
Так в чем же разница? Если «автоматическое связывание» не может найти конкретную реализацию, и не имеет значения, могут ли быть разрешены службы, требующие зависимости, то что такое автоматическое связывание?
Предполагается, что Funq сможет найти ваши конкретные реализации по соглашению? Если да, то что это за соглашение, если не одноимённость?
Спасибо.