MEF InheritedExport元数据

时间:2014-12-16 08:11:02

标签: c# mef

我只有简单使用MEF的经验。我想知道如何最好地完成以下工作。

  1. 我有一个接口类
  2. 
        [InheritedExport]
        public interface IBaseView
        {
        }
    
    
    1. 我有多个实现类,如下所示:
    2. 
          [PartCreattionPolicy(PartCreationPolicy.NonShared), ExportMetadata("DisplayName", "SimpleView")
          public class SimpleView : IBaseView
          {
              //Implementation
          }
      
      
      1. 在其他地方,我需要枚举容器中所有导出的所有DisplayName元数据。 (向用户显示)。这意味着我不想创建导出,而只是检查其类型的元数据。
      2. 我该怎么做?

1 个答案:

答案 0 :(得分:0)

您检查过MEF 2附带的ExportFactory吗? 它有助于动态创建导出实例。请参阅有关Exportfactory的this msdn文章,以及How to use MEF上的此堆栈溢出答案。

您可以在不创建导出的情况下从工厂访问元数据。