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

Timer.Elapsed事件如何传递参数
手写了一个Timer倒计时方法,想在倒计时完成后,将一个不为空的实体类
Msg传递给Elapsed的事件内,看了MSDN后,没有找到相关字眼。所以
请问下如何实现.
附上代码
C# code

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;
}




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