2
我想知道如何使用MEF导入泛型基类的派生类。 这是类的一般描述:使用MEF与泛型基类
interface IPlugin {}
abstract class PluginBase<T> : IPlugin {}
[Export(typeof(IPlugin))]
class Plugin1 : PluginBase<T1> {
public Plugin1(T1 t1) : base(t1) {};
}
[Export(typeof(IPlugin))]
class Plugin2 : PluginBase<T2> {
public Plugin1(T2 t2) : base(t2) {};
}
[ImportMany(typeof(IPlugin))]
List<IPlugin> importedList { get; set; }
我使用的是为了下面的代码加载插件:
var aggCatalog = new AggregateCatalog(catalogList);
var container = new CompositionContainer(aggCatalog,
CompositionOptions.DisableSilentRejection);
container.ComposeParts(this);
,但我得到一个空列表。
哇,这实际上比我想象的要简单得多..应该在SO小时前发布:)。我试过'ImportingConstructor'属性,但错过了将T1,T2添加到容器! – drtf