这样做的正确方法是什么? 假设我们的项目中有一些第三方库,我们需要访问一些密封的控件。 将使用MEF创建新的小部件并将其添加到应用程序,并且他们应该能够从核心应用程序导入一些控件。 那么如何正确导出这些控件呢?
答案 0 :(得分:0)
如何在“导出”类中包装第三方控件,然后通过包装器访问此控件?
答案 1 :(得分:0)
如果您无法修改原始类(例如ThirdPartyComponent
),则可以通过其他类的属性(例如ThirdPartyComponentExporter
)进行导出:
public class ThirdPartyComponentExporter
{
[Export(typeof(ThirdPartyComponent))]
public ThirdPartyComponent Foo
{
get
{
return new ThirdPartyComponent();
}
}
}
对于可视化控件,您可能必须使用CreationPolicy.NonShared
来阻止MEF在不同位置重用相同的实例。