在 MEF 中公开第三方视觉控制的正确方法
这样做的正确方法是什么? 假设我们的项目中有一些第三方库,我们需要提供对一些密封控件的访问。 新的小部件将使用 MEF 创建并添加到应用程序中,并且它们应该能够从核心应用程序导入一些控件。 那么如何正确导出这些控件呢?
What is the proper way to do that?
Let's say we have some third party library in our project and we need to provide an access to some controls which are sealed.
New widgets will be created and added to the application using MEF and they should be able to import some controls from the core application.
So how to export those controls properly?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您无法修改原始类(例如
ThirdPartyComponent
),那么您可以通过另一个类(例如ThirdPartyComponentExporter
)上的属性进行导出:对于可视控件,您可能有使用
CreationPolicy.NonShared
来防止 MEF 在不同位置重用同一实例。If you cannot modify the original class (e.g.
ThirdPartyComponent
), then you can do the export via a property on another class (e.g.ThirdPartyComponentExporter
):For visual controls, you may have to use
CreationPolicy.NonShared
to prevent MEF from reusing the same instance in different locations.将第三方控件包装在“导出”类中,然后通过包装器访问该控件怎么样?
What about wrapping the third party controls in "export" classes and then access this control through the wrapper?