日期:2014-05-18  浏览次数:20741 次

关于socket类用到的委托和线程问题
if (txtshow.InvokeRequired)
  {
  txtshow.Invoke(new EventHandler(updateShow), new object[] { str, EventArgs.Empty });
  }
这个有什么用?调用updateshow方法,传参数,为什么要new object[] { str, EventArgs.Empty },而且有一个传的是空
还有一个写法
  System.Threading.Timer xiancheng = new System.Threading.Timer(new TimerCallback(fuzhi), ss, 0, 0);
这个创建的,在什么时候用?和Thread一样么,new TimerCallback(fuzhi), ss, 0, 0这是什么意思,为什么new TimerCallback
传参数为什么在ss那个位置写,后面的0,0是什么,问题有点多。会的帮忙解答下吧

------解决方案--------------------
第二个问题,new TimerCallback(fuzhi), ss, 0, 0这四个参数是Timer 类的对象xiancheng构造函数的四个参数,你用msdn查System.Threading.Timer ,里面肯定有介绍,定义计时器的触发函数,间隔,是否reset等属性。
第一个问题,invoke这个函数,里面的第一个参数是个自己编写的函数,自己写的函数如果有参数,就要在invoke的第2个参数定义。这样可以适用于不同的函数