delegate void Add(int x,int y);
System.Threading.Thread t1 = new System.Threading.Thread(delegate()
{
System.Console.WriteLine("SUM");
});
线程里面的参数该是方法吧,上面的如何解释呢?
System.Threading.Thread t1 = new System.Threading.Thread(delegate()
{
System.Console.WriteLine("SUM");
});
线程里面的参数该是方法吧,上面的如何解释呢?
解决方案 »
- C# winform程序连接sql数据库,必须要在客户机上安装sql服务器吗?那个本地数据库怎么用?
- crystal report 如何去除多余的行?
- (100分)求助在Window Service环境下使用回调函数(在线等)
- 获取快速启动栏的位置
- 请问Sql Server 2005 Express支持Distributed Transaction吗?
- 如何编写代码C#WinForm窗体实现每隔一分钟就自动进入一个网站
- 请教思归大虾 ServiceCompont的问题!
- 如何解决线程方法的原子性问题?
- 【讨论】大家项目中数据访问类是自己写好的,还是用比如SQLHELPER这类的!
- 求个程序的思路,请高手们指点
- c#程序插入mysql出现乱码怎么解决?
- 微软会把.NET搞成非托管的吗?
看System.Threading.Thread的构造函数,第一个参数都是委托类型,而不是 void() target ,如果直接用匿名函数的话 应该有编译错误:
无法将 匿名方法 转换为类型“System.Delegate”,因为它不是委托类型但是这一个居然直接通过了
以前没注意过,都是
System.Threading.Thread t1 = System.Threading.Thread(new System.Threading.ThreadStart(delegate(){}));
这样
匿名方法实际上是一个“委托常量”,但是它并不从Delegate派生,即不能提升转换成Delegate
需要Delegate参数的方法不能直接用匿名方法,但是使用其它委托类型作为参数的方法都可以直接用符合委托格式的匿名方法作为实参