仅在给定Type实例的情况下从MEF容器导出

时间:2009-06-24 11:33:26

标签: c# mef

我有一个场景,我必须从我的CompositionContainer实例导出,但我只有一个Type可以使用;我不知道编译时的类型,因此我无法以通常的通用方式检索导出的对象。

通常你会这样做:

_container.GetExportedObject<IMyType>();

但就我而言,我有这个:

Type someType = ... ;
_container.HowDoIGetTheExport(someType);

有什么想法吗?

2 个答案:

答案 0 :(得分:21)

找到答案:

var export = _container.GetExports(someType, null, null).FirstOrDefault();

答案 1 :(得分:1)

使用Type.MakeGeneric动态创建调用.....

http://geekswithblogs.net/marcel/archive/2007/03/24/109722.aspx