2 yhy45678 yhy45678 于 2016.01.15 18:06 提问

c#中的委托相关的问题

this.Invoke(new Action(delegate(){ }));因为执行次数过多导致程序性能变差,反应迟缓,能否有什么方法能先设置好这个方法所需执行的代码,需要执行该代码的时候传入具体的参数就行。

2个回答

caozhy
caozhy   Ds   Rxr 2016.01.15 18:33

this.Invoke(new Action(delegate(){ }));
这个里面的代码相当于没有多线程,而是在主线程中同步执行。所以,除了更新界面和线程不安全的代码,其余的都放在委托外面。
另外,少用匿名委托,最好写成方法直接传方法名。

caozhy
caozhy 回复yhy45678: 和执行次数无关。
接近 2 年之前 回复
yhy45678
yhy45678 回复caozhy: 具体怎么写能给个例子吗?另外为什么执行次数过多会导致性能变差,知道吗?
接近 2 年之前 回复
u010053344
u010053344   2016.01.15 18:28

那就等需要执行的时候再链接代理,或者主动执行代理。

yhy45678
yhy45678 回复Small蒙奇: 能给个具体的例子吗?
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!