0
我发现需要导入属性的lambda表达式有点令人困惑,我也想了解如何使用MEF约定导入和导出,所以也许我试图承担太多立刻。MEF无属性导入合同名称
我出口ResourceDictionary
与我之前导入这样的合同名称:
[ImportMany("ApplicationResources", typeof(ResourceDictionary))]
public IEnumerable<ResourceDictionary> Views { get; set; }
效果很好,是很好,但是我现在想通过RegistrationBuilder
导入这一点,但不能完全理解如何做这个。
该出口他们相信(但我必须说实话,我不完全理解的语法):
var registration = new RegistrationBuilder();
registration.ForTypesDerivedFrom<ResourceDictionary>()
.Export<ResourceDictionary>(x => x.AsContractName("ApplicationResources"));
我在我的App
,我想一个属性来填充
所以试了这个(在应用程序本身进行)
registration.ForType<App>()
.ImportProperty<ResourceDictionary>(x => x.Views);
但这不工作,我猜我需要设置契约名称?任何人都可以告诉我这是什么语法?也许如果我能看到更正语法,我可以更好地理解它是如何工作的......我希望!