在以下情况下,我应该使用哪种最佳方法/模式?
有一个C#UI解决方案,它将具有(a)Winforms / WPF UI和(b)类库。
UI将必须为将轮询的类库中的例程启动一个单独的线程
然后,如果需要,类库将需要在UI中触发回调函数以更新UI字段
我如何最好地实现此回调安排,以便可以重用类库,并且理想情况下,它应该不依赖于UI组件。
谢谢
最佳答案
您可以通过从库中引发一个事件来执行此操作,这样,库将仅需要弹出事件,如果UI选择使用该事件,则该实现将在UI中进行。
您还可以公开一个属性,例如CallbackMethod,并接受它的委托,然后在UI中将该属性设置为函数的地址。
当库需要“发送必要的回调”时,请检查是否已填充了回调,然后(如果已设置)调用回调函数(通过委托),如果未设置,则跳过它