在MEF中定制零件的优先级

本文关键字:零件 优先级 MEF | 更新日期: 2023-09-27 17:54:22

你好,我正在使用MEF,这是我的情况:

 [ImportMany]
 public IEnumerable<Lazy<IMyInterface>> correspondingParts { get; set; }

现在在相应的部分,我得到所有的DLL的导出类型为IMyInterface。但是,问题就像当我使用

foreach(var parts in correspondingParts)
{
       // do something!
}

现在对应的部件包含按名称字母顺序排序的DLL。我需要能够优先考虑DLL的。

在MEF中定制零件的优先级

终于有帮助了!导出器需要能够创建一个ExportMetaData,以便以后使用它来获得优先级。[ExportMetaData("优先级",1)],

更多信息@http://blogs.msdn.com/b/dsplaisted/archive/2010/04/01/overriding-mef-metadata.aspx