线程/任务应该在哪里启动,以查看您是否仍连接到设备(型号或视图型号)

本文关键字:连接 视图型 是否 任务 在哪里 启动 线程 | 更新日期: 2023-09-27 18:26:52

我有一个可以与设备一起工作的C#/MVM应用程序。应用程序需要不断检查是否已连接/断开与该设备的连接。我得到了Model(USB连接代码项目)启动一个线程的代码,该线程将持续检查设备是否已连接。然后,它将使用对ViewModel的回调来设置需要设置的属性。

但是ViewModel不应该启动线程,然后在"USB连接代码项目"中调用适当的方法来检查这一点吗?

如果我确实将线程保留在模型中,那么在读取其他线程时,我可能应该使用INotifyPropertyChanged,而不是委托/回调。。。。对的

线程/任务应该在哪里启动,以查看您是否仍连接到设备(型号或视图型号)

现有代码完全正确。

检查USB设备与视图或视图逻辑完全无关;所以它属于模型。执行委托或事件回调以告知视图模型更新其状态是一种非常合理的通知机制。

自己使用INotifyPropertyChanged真的很痛苦,而且语义不太清楚。我不会改变所描述的设计。