C#创建定时器,并绑定带有对象参数的方法
时间: 2024-02-18 22:02:20 浏览: 94
在 C# 中创建定时器可以使用 System.Timers.Timer 类,而绑定带有对象参数的方法则需要使用委托。
以下是一个示例代码,创建了一个名为timer的定时器,每隔1秒钟执行一次名为testMethod的方法,并传入一个自定义对象参数。
```csharp
public partial class Form1 : Form
{
private System.Timers.Timer timer;
public Form1()
{
InitializeComponent();
timer = new System.Timers.Timer();
timer.Interval = 1000;
timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
timer.Start();
}
private void timer_Elapsed(object sender, ElapsedEventArgs e)
{
MyObject obj = new MyObject();
obj.Name = "对象名称";
obj.Value = "对象值";
testMethod(obj);
}
private void testMethod(MyObject obj)
{
Console.WriteLine(obj.Name + ":" + obj.Value);
}
}
public class MyObject
{
public string Name { get; set; }
public string Value { get; set; }
}
```
在上面的代码中,我们通过 Elapsed 事件来绑定了一个名为 timer_Elapsed 的方法,每次定时器执行时都会调用这个方法。在 timer_Elapsed 方法中,我们创建了一个自定义对象 MyObject,并设置了对象的属性值,然后通过调用 testMethod 方法,并传入这个自定义对象来实现了带有对象参数的方法绑定。在 testMethod 方法中,我们通过访问传入的对象来获取对象的属性值。
阅读全文