在 C# 中即发即弃
本文关键字: | 更新日期: 2023-09-27 18:17:11
C#中是否有任何事件,例如每分钟都着火和忘记???
每分钟触发此方法。
public void Earning()
{
var data= new Bussinesslayer().Getdata();
}
您可以使用 Timer 类:
声明:
System.Timers.Timer _tmr;
初始化:
_tmr = new System.Timers.Timer();
建立:
//Assigning the method that will be called
_tmr.Elapsed += new System.Timers.ElapsedEventHandler(tmr_Elapsed);
//Setting the interval (in milliseconds):
_tmr.Interval = 1000;
启动计时器:
_tmr.Start();
该函数应具有与以下示例中相同的签名:
void tmr_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
this.Earning();
//please note that here you are in another thread.
}
如果要停止计时器,可以使用:
_tmr.Stop();
例如,使用 Rx
Observable.Interval(TimeSpan.FromMinutes(1))
.Subscribe(x => Earning());
无需螺纹
public void Earning()
{
var data= new Bussinesslayer().Getdata();
// Wait a minute
Task.Delay(TimeSpan.FromMinutes(1)).Wait();
// Re-run this method
Task.Factory.StartNew(() => Earning());
}
您将需要这些包括:
using System;
using System.Threading.Tasks;