昨天排查一个界面卡死的问题,代码排查开始没发现什么问题,后面无意中对委托的赋值从“=”改为“+=”就解决了,虽然解决了,但是对于winform不熟的我并不知道其中的原因,所以贴出代码让大神们帮我分析分析:
下图1这段是实例化一个后台线程类ProgressSplashForm(图2是ProgressSplashForm类体,即基于Backgroundworker的一个封装),然后注册要执行的方法InnerDoSchedule,没改前的代码是prFrm.DoWork = InnerDoSchedule。优化后改为prFrm.DoWork += InnerDoSchedule;
仅仅是一个+号的区别,对程序的影响来说天差地别,小弟百思不得其解,在这里求教懂的大神来解答分析