读书人

这段代码怎么理解

发布时间: 2013-08-01 15:23:18 作者: rapoo

这段代码如何理解
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);

父类是怎么样调的。

如果有开线程,就会有,如果没有就没有。

读书人网 >C#

热点推荐