个人理解:
委托:
例如,把第2个方法作为一个参数传给第1个方法。
void TP
{
//代码
}Thread NewThred=new Thread();
Thread.Start(TP); //警告
等价于:delegate dTP()=new dTP(TP)
Thread.Start(dTP)其强大之处在于可以实现多路广播委托,既可以将多个对象的多个方法放在委托里面,从而对事件和多线程提供很好的支持。(想想C++里的函数指针。)
委托:
例如,把第2个方法作为一个参数传给第1个方法。
void TP
{
//代码
}Thread NewThred=new Thread();
Thread.Start(TP); //警告
等价于:delegate dTP()=new dTP(TP)
Thread.Start(dTP)其强大之处在于可以实现多路广播委托,既可以将多个对象的多个方法放在委托里面,从而对事件和多线程提供很好的支持。(想想C++里的函数指针。)
解决方案 »
- WPF two way binding, ConvertBack
- Windows7图片浏览问题
- c# datagridview 逐条验证数据
- 音频播放器的均衡器是怎么控制声音输出的?(我指的是类似于千千静听的“流行”,“剧场”之类的声音模式)
- 知道网络机器名称,怎么得到他的IP地址?高手救命!在线等
- 如何把string信息转化成int信息
- 怎样能得到外汇行情的数据?顶者有分
- vs studio.net的中文版和英文版的问题,恳请帮忙,50分相谢!
- 在webform中怎么获得数据集ds的表的当前记录号?
- 有人对工作流熟悉吗?给我讲讲什么是工作流?怎么实现??
- 线程通信的问题,有谁可以帮帮忙,急
- 这个SQL语句怎么写?
{
// define the delegate type
delegate void TestDelegate(String str); void WriteString(String str)
{
Console.WriteLine(str);
} public CSDelegateExample1()
{
// declare and instantiate the delegate
TestDelegate td = new TestDelegate(WriteString); // now we can call it
td("This string will be written to the console.");
} static void Main(string[] args)
{
new CSDelegateExample1();
}
}
http://www.csdn.net/develop/read_article.asp?id=21901