如何使用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,因为组合错误发生的消息,没有有效的导出被发现与我的导入的限制。