C# MEF继承导出元数据
我只有简单使用MEF的经验。我想知道如何最好地完成以下工作C# MEF继承导出元数据,c#,mef,C#,Mef,我只有简单使用MEF的经验。我想知道如何最好地完成以下工作 我有一个接口类 我有多个实现类,如下所示: 在其他地方,我需要为容器中存在的所有导出枚举所有DisplayName元数据。(向用户显示)。这意味着我不想创建导出,只想检查其类型的元数据 我该怎么做?您检查过MEF 2附带的ExportFactory吗? 它有助于动态创建导出实例。请参阅有关Exportfactory的msdn文章,并在上回答此堆栈溢出问题 您可以在不创建导出的情况下从工厂访问元数据。您的导入在哪里?@JRLambert:
DisplayName
元数据。(向用户显示)。这意味着我不想创建导出,只想检查其类型的元数据我该怎么做?您检查过MEF 2附带的ExportFactory吗? 它有助于动态创建导出实例。请参阅有关Exportfactory的msdn文章,并在上回答此堆栈溢出问题
您可以在不创建导出的情况下从工厂访问元数据。您的导入在哪里?@JRLambert:我不想显式导入。只需要获取元数据属性的列表。您仍然需要导入以获取元数据属性。您可以使用一种
Lazy
类型,它在您想要使用它之前不会创建导入。@JRLambert:但是Lazy
类型意味着我只能创建一个零件一次。我需要同一导出的多个实例。您可以将其导入到许多地方。。。。还有很多例子
[InheritedExport]
public interface IBaseView
{
}
[PartCreattionPolicy(PartCreationPolicy.NonShared), ExportMetadata("DisplayName", "SimpleView")
public class SimpleView : IBaseView
{
//Implementation
}