У меня возник вопрос / путаница в связи с целями IoC.Рассмотрим следующее:
ISite - интерфейс
ImapSite : ISite - конструктор не по умолчанию.
Я регистрирую интерфейс с конкретным импом, используя контейнер следующим образом:
_container.RegisterType<ISite, ImapSite>(new InjectionConstructor(typeof(string), typeof(Account)));
И разрешаю его, используя:
_site = _container.Resolve<ISite>(new DependencyOverride[]
{
new DependencyOverride<string>(host),
new DependencyOverride<Account>(Account.FromAppConfig())
});
Теперь мне интересно, если этопревосходит цель IoC, потому что, если я не могу ограничить, какой конструктор будет иметь реализация ISite, когда ImapSite изменит сигнатуру ctor, мне все равно придется менять ее везде в коде.