C#中委托的原理是什么? 如果我在主线程中声明public static string aa...

发布网友

我来回答

3个回答

热心网友

全局静态变量 直接改变就可以

否则需要用委托 类似如下:
主线程A{ 赋值事件setaa() } 子线程B { 委托对象 bb }
//A的对象a的处理
a{
b.bb+= setaa ;
}

//B的对象b的处理
b{
需要赋值的地方
if(bb!=null)
{
a.Invoke(bb);
}
}

具体的思路就是 B通过委托调用了A自己的方法修改了A内部的值

========================
补充一点,当a.Invoke的时候 主线程最好不要是阻塞状态,否则将导致 Invoke进去以后也是阻塞的.

热心网友

v

热心网友

http://zhangbq168.blog.163.com/blog/static/23735305201122210509704/
看看这个

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com