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;
}
4 个解决方案
#1
帮顶,接分
#2
ElapsedEventHandler 是一个委托,所以你定义的方法必须符合委拖的格式:
public delegate void ElapsedEventHandler (
Object sender,
ElapsedEventArgs e
)
想要直接传递参数是不行的,所以可以通过全局变量实现。
public delegate void ElapsedEventHandler (
Object sender,
ElapsedEventArgs e
)
想要直接传递参数是不行的,所以可以通过全局变量实现。
#3
如果通过全局变量的话,每隔一段时间间隔就要使用这个变量一次,如果我在SetData获取这个变量值的时间超过了Timer的间隔时间,那不是会造成后面来的变量和前面的重叠吗?
#4
Elapsed事件中的static void mywrite(object source,ElapsedEventArgs e)中的 source e可以随意 不一定是这个名吧?
#1
帮顶,接分
#2
ElapsedEventHandler 是一个委托,所以你定义的方法必须符合委拖的格式:
public delegate void ElapsedEventHandler (
Object sender,
ElapsedEventArgs e
)
想要直接传递参数是不行的,所以可以通过全局变量实现。
public delegate void ElapsedEventHandler (
Object sender,
ElapsedEventArgs e
)
想要直接传递参数是不行的,所以可以通过全局变量实现。
#3
如果通过全局变量的话,每隔一段时间间隔就要使用这个变量一次,如果我在SetData获取这个变量值的时间超过了Timer的间隔时间,那不是会造成后面来的变量和前面的重叠吗?
#4
Elapsed事件中的static void mywrite(object source,ElapsedEventArgs e)中的 source e可以随意 不一定是这个名吧?