如何从业务层更新UI?

Meh*_*ahi 6 c# user-interface multithreading business-logic

我在C#中有一个三层应用程序.在业务层我有很多线程做同样的工作.我想在UI上显示每个线程的进度,但我没有表示层的引用.

我怎样才能做到这一点 ?最好的方法是什么?

谢谢 .

Mar*_*ell 6

这里最恰当的答案可能是event在您的业务层上公开某个地方.您的UI代码可以订阅事件,并通过切换到UI线程(如果需要)来处理事件并更新自身.

然后业务代码不需要知道UI,并且可以在没有任何UI的情况下工作(但与所有委托/回调一样,您需要null在尝试调用委托之前检查).