c# - 如何将对象传递给计时器事件?

标签 c# timer

好的,所以我在带有 C# 的 .Net 4 中使用 System.Timers.Timer

我的定时器对象是这样的:

var timer = new Timer {Interval = 123};

我的 Timer Elapsed 事件处理程序指向这样的方法:

timer.Elapsed += MyElapsedMethod;

我的方法是这样的:

static void MyElapsedMethod(object sender, ElapsedEventArgs e)
{
    Console.WriteLine("Foo Bar");
}

我想将一个字符串传递给这个方法,我该怎么做?

谢谢

最佳答案

最简单的方法是将事件处理程序更改为匿名函数。它允许您在声明时传递字符串。

string theString = ...;
timer.Elapsed += (sender, e) => MyElapsedMethod(sender, e, theString);

static void MyElapsedMethod(object sender, ElapsedEventArgs e, string theString) {
  ...
}

关于c# - 如何将对象传递给计时器事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9977393/

相关文章:

c# - 在应用程序启动期间从文件加载值的正确方法是什么?

c# - 仅更改月份和年份的 DateTimePicker

python - 从定时器中捕获异常

javascript - 在 Javascript 中,如何创建一个以毫秒为单位的精确计时器?

c# - UWP 应用程序中是否有 Attribute.IsDefined 的替代品?

c# - 基于 bool 值的线程阻塞

c - timer_getoverrun() 是做什么的?

swift - 定时器的替代品

java - 使用 BufferStrategy 在 Java 中滑动图像

c# - Http Get 请求 GetResponse 错误