【发布时间】:2011-12-15 08:07:56
【问题描述】:
我有一个与 IoC 目的相关的问题/困惑。考虑以下几点:
ISite - 界面
ImapSite:ISite - 非默认构造函数。
我使用容器向具体 imp 注册接口,如下所示:
_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 签名时,我仍然必须在代码中到处更改它。
【问题讨论】:
标签: c# interface inversion-of-control prism ioc-container