在C#中有任何事件像火,忘記每分?火和忘在C#
每分鐘都會觸發此方法。
public void Earning()
{
var data= new Bussinesslayer().Getdata();
}
在C#中有任何事件像火,忘記每分?火和忘在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();
如果你想避免使用額外的方法來調用你的原始方法,你可以通過使用lambda函數來解決這個問題。 '_tmr.Elapsed + =(sender,args)=> this.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;
thnx appriciate for answer。 – user2454137
根據你所使用(的WinForms,WPF等。 ),.NET框架中包含了幾個Timer實現,您可以使用它來實現此目的。 – Inisheer
指定上下文無論是WinForms/WPF/ASP.Net等? –
thnx回覆。 – user2454137