【发布时间】:2011-12-19 14:16:27
【问题描述】:
我刚刚在我的 mef 应用程序中发现了一个问题;问题是,我的IEnumerable<IFoo> 属性中有一个[Import] 而不是[ImportMany]。我开始想为什么。 MEF 看到注入目标是一个“集合”,并且可以确定需要该集合而不是单个元素。至少 Ninject 是这样工作的。
有没有人知道为什么需要[ImportMany]?我能想到的唯一原因是有人可能想要[Export(typeof(IEnumerable<IBar>)] public IEnumerable<Bar> { get; },但这真的是这种设计的原因吗?我敢打赌,我不是唯一一个一直在调试这种错误的人。
【问题讨论】:
标签: dependency-injection inversion-of-control mef