class conncetion
{
  private Timer pollTimer;
  public conncetion()
  {
    pollTimer=new Timer(100);
    pollTimer.Elapsed+=new ElapsedEventHandler(CheckForMessage);
  }
  private void CheckForMessage(Object source,EventArgs e)
  {
    .....
   }
}
......
ElapsedEventHandler事件的参数CheckForMessage是一个事件还是一个方法,如果是方法的话,那该方法的参数(Object source,EventArgs e)为什么一定要写成这样的参数形式吗?大家帮帮忙!

解决方案 »

  1.   

    CheckForMessage 是方法,他的参数根据ElapsedEventHandler定义的参数定义。
    ElapsedEventHandler不是一个事件,他只是一个代理(delegate)
      

  2.   

    楼上用语不标准, Delegate 在 .Net 中称作委托, 是个很常用的概念, 建议查 msdn
      

  3.   

    ElapsedEventHandler事件的参数CheckForMessage是一个事件还是一个方法
    哪个者不是,如果你非要追究你可以将其理解为该函数的指针,因为那是一个事件绑定,也就是将那个方法与指定的事件绑定。
      

  4.   

    是方法,但是方法有N种,要像判断你绑定的哪种方法,就必须从函数签名中来区别.
    dot net里事件的默认签名都是(Object source,EventArgs e)这种形式,所以你必须这么做,框架才能正确调用.
      

  5.   

    大家几句话惊醒我,差不多想通了。
    再问个问题额
    Timer.Start(); Console.ReadKey();  
    连用的作用是什么? 后半句不写的话屏幕没有任何显示!