手写了一个Timer倒计时方法,想在倒计时完成后,将一个不为空的实体类
Msg传递给Elapsed的事件内,看了MSDN后,没有找到相关字眼。所以
请问下如何实现.
附上代码private void TreatmentQueue(Msg m)
{
   System.Timers.Timer T = CreateTimer(double.Parse(m.MsgValue));
   T.Elapsed += new ElapsedEventHandler(SetData);//这里我想把m传递给SetData方法,该如何写呢
   T.AutoReset = false;
   T.Enabled = true;
}

解决方案 »

  1.   

    ElapsedEventHandler 是一个委托,所以你定义的方法必须符合委拖的格式:
    public delegate void ElapsedEventHandler (
        Object sender,
        ElapsedEventArgs e
    )
    想要直接传递参数是不行的,所以可以通过全局变量实现。
      

  2.   

    如果通过全局变量的话,每隔一段时间间隔就要使用这个变量一次,如果我在SetData获取这个变量值的时间超过了Timer的间隔时间,那不是会造成后面来的变量和前面的重叠吗?
      

  3.   

     Elapsed事件中的static void mywrite(object source,ElapsedEventArgs e)中的 source  e可以随意  不一定是这个名吧?