c# - 事件和委托(delegate),如何将其编码为2级深度?

标签 c# .net multithreading events delegates

Class1在Class2中创建并调用一个方法。 Class2的方法将其更新为Class1中的事件处理程序。但是现在Class2的方法需要在class3中调用一个方法。
class3如何将其方法的进度更新到class1?我是否需要菊花链式链接事件并在每个级别下一直进行委派?

(我使用的是MVC模式,UI类调用了 Controller 类,该类又称为工作器类。我需要在UI类中更新2个进度条。随着 Controller 方法的完成,主要的进度条会更新,而将子进度条升级为worker类中的循环进程。 Controller 在后台进程中运行,因此UI不会挂起。)

最佳答案

Worker类向 Controller 报告,然后 Controller 将进度通知UI。 worker类和UI不应该也不会互相认识。只需在worker类和 Controller 之间创建另一个事件对(这称为事件冒泡或事件链接,感谢@Abel)。

关于c# - 事件和委托(delegate),如何将其编码为2级深度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3743703/

相关文章:

c# - ToolsVersion 和 TargetFrameworkVersion 之间的区别

.net - 在 Azure devops 上为服务结构应用构建管道

java - 为什么 CachedThreadPool 会满负荷但不启动第二个线程,有什么原因吗?

c# - 无数据类型的开销是多少?

C#/WPF : Make a GridViewColumn Visible=false?

c# - ComboBoxes 是链接的(这很糟糕)

c# - 找不到类型或 namespace 名称 'register'

c# - ASP.NET 的 ObjectDataSource 和 NHibernate session 管理

c - 函数内的动态结构数组分配

c++ - 寻找 std::join 行为的说明