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);
但這不工作,我猜我需要設置契約名稱?任何人都可以告訴我這是什麼語法?也許如果我能看到更正語法,我可以更好地理解它是如何工作的......我希望!