如何使用MEF動態地解析我的導入。 一個例子:如何使用MEF導入並僅在滿足時才加載它們
class Class1
{
[Export("P1", typeof(string)]
string _p1;
}
class Class2
{
[Import("P1", typeof(string), AllowRecomposition = true]
string importedP1;
}
Class1的是在另外一個組件和等級2。組件不相互認識。問題是,在CompositionContainer.ComposeParts()的調用中,Class1的程序集/導出未在任何目錄中註冊,而是在Class2的導入中註冊。基本上我甚至不能確定Class1的組件是否會被加載。但是,如果它會被加載,我希望導入將自動/動態滿足。
我該如何做到這一點?我認爲「AllowRecomposition」正是爲這種情況,但我得到一個ChangeRejectedException,因爲組合錯誤發生的消息,沒有有效的導出被發現與我的導入的限制。