eba*_*eba 6 .net dispose timer callback
我正在使用Threading.Timer,如:
new Timer(new TimerCallback(y=>
{
try
{
Save(Read(DateTime.Now));
// here i want to dispose this timer
}
catch
{
}
}),null,100000,10000);
Run Code Online (Sandbox Code Playgroud)
如何在回调中处理此计时器.或解决方法?更新:让我解释一下情况.我想尝试调用方法"保存",同时抛出异常.如果它工作,我需要停止计时器.
Jak*_*sen 15
试试这个:
Timer timer = null;
timer = new Timer(new TimerCallback(y =>
{
try
{
Save(Read(DateTime.Now));
// here i want to dispose this timer
timer.Dispose();
}
catch
{
}
}));
timer.Change(10000, 10000);
Run Code Online (Sandbox Code Playgroud)
编辑:
我根据Chuu的建议稍微修改了上面的代码.请注意,如果通过不同的计时器事件同时调用TimerCallback,则Timer.Dispose可能最终被多次调用.幸运的是,Timer它不关心它是否被处理了好几次.