这段代码如何理解
ThreadStart 做为形参,不太理解。
这是一个自定义控牛里的代码节选
private ThreadStart OnStartClicked = null;
private void button1_Click(object sender, EventArgs e)
{
this.RaiseEvent(this.OnStartClicked);
}
public void SetWaiting(ThreadStart dlgtClickStart)
{
this.OnStartClicked = dlgtClickStart;
}
public void RaiseEvent(ThreadStart ts)
{
if (ts==null) {return ;}
base.Invoke (ts);
return ;
}
问题;
this.RaiseEvent(this.OnStartClicked);会产生一个新线程吗?
------解决方案--------------------ThreadStart是委托 http://msdn.microsoft.com/zh-cn/library/system.delegate(VS.80).aspx
调用SetWaiting给委托赋值
调用RaiseEvent
//ts为空直接返回了
if (ts==null) {return ;}
//不为空时才会用父类调用
base.Invoke (ts);
return ;
------解决方案--------------------看一下这句。
base.Invoke (ts);
父类是怎么样调的。
如果有开线程,就会有,如果没有就没有。