仅在给定Type实例的情况下从MEF容器导出
我有一个场景,我必须从我的CompositionContainer实例导出,但我只有一个类型可以使用; 我不知道编译时的类型,因此我无法以通常的通用方式检索导出的对象。
通常你会这样做:
_container.GetExportedObject();
但就我而言,我有这个:
Type someType = ... ; _container.HowDoIGetTheExport(someType);
有任何想法吗?
找到答案:
var export = _container.GetExports(someType, null, null).FirstOrDefault();
使用Type.MakeGeneric动态创建调用…..
http://geekswithblogs.net/marcel/archive/2007/03/24/109722.aspx