代码拉取完成,页面将自动刷新
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace FnSync
{
class AutoDisposableTimer : IDisposable
{
private Timer timer = null;
public delegate void DisposedEventHandler(object sender, Object state);
public event DisposedEventHandler DisposedEvent;
private TimerCallback Callback = null;
private int DelayInMills = Timeout.Infinite;
public AutoDisposableTimer(TimerCallback callback, int DelayInMills, bool StartImmediately)
{
this.Callback = (state) =>
{
try
{
callback?.Invoke(state);
}
finally
{
Dispose();
}
};
this.DelayInMills = DelayInMills;
if (StartImmediately)
Start();
}
public void Start()
{
timer = new Timer(this.Callback, null, DelayInMills, Timeout.Infinite);
}
public AutoDisposableTimer(TimerCallback callback, int DelayInMills): this(callback, DelayInMills, true) {}
public void Dispose()
{
Dispose(null);
}
public void Dispose(Object state)
{
lock (this)
{
if (timer != null)
{
timer?.Dispose();
timer = null;
DisposedEvent?.Invoke(this, state);
}
}
}
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。