复合 WPF GUI 共享串行端口 (PRISM/MEF)
本文关键字:PRISM MEF 串行端口 WPF GUI 共享 复合 | 更新日期: 2023-09-27 18:33:13
我确实有以下情况:我确实有一个外壳和两个模块(模块A.dll,模块B.dll通过引导程序包含(,这是我使用PRISM4创建的。
模块A读取一个数据库,并从该信息中打开一个串行端口。该模块还提供通过串行连接发送命令的功能。
模块B还可以将数据发送到同一个串行连接,模块A已经打开了。此外,模块B应包含一个绘图,该绘图来自串行端口的数据。
例如:模块 A 发送"设置1,设置2"模块 B 发送"开始"-->模块B接收数据(-->绘图数据(模块 B 发送"停止">
因此,据我了解,他们应该以某种方式共享此串行端口实例。任何想法如何设置此方案?
提前谢谢。
您的初始模块/类设置似乎错误。模块的概念主要适用于可插拔的可选功能,而不是您在此处描述的内容:似乎没有模块 A 就无法存在模块 B(因为它需要端口 A 具有并且可能需要首先发送设置等(,反之亦然只有模块 A 而没有模块 B 也没有意义(仅发送设置但没有数据通信(。
如果您拥有的设置真的像您编写的一样简单,只需使用单个模块进行所有串行端口通信即可。然后,您可以做的是将数据库抽象为一个单独的模块,并最终进行绘图。然后,如果您切换到另一个数据库,您只需提供一个新模块。剧情也是如此。(请注意,这只是您可以做什么的一个例子,绝不是要解决您的特定问题(。对于"抽象"部分,您将依赖注入与MEF/Unity一起使用:在公共项目中创建接口,在模块中导出接口的实现,将其导入到另一个模块中。