我正在将使用System.Threading.Timer的现有 .NET 类库移植到面向 Windows 8.1 的 Windows 应用商店应用程序。该类Timer
可用,但相对于相应的 .NET Framework 似乎缺少一些选项Timer
。
特别是,Windows Store 版本中只有两个可用的构造函数:
public Timer(TimerCallback callback, Object state, int dueTime, int period);
public Timer(TimerCallback callback, Object state, TimeSpan dueTime, TimeSpan period);
.NET Framework 包含这个额外的构造函数:
public Timer(TimerCallback callback);
根据MSDN 文档集dueTime
和period
toTimeout.Infinite
和state
toTimer
对象本身。
尝试替换单参数构造函数时,我“天真地”尝试将Timer
对象传递给 Windows 8.1 构造函数之一,如下所示:
Timer t;
t = new Timer(MyCallback, t, Timeout.Infinite, Timeout.Infinite); // WILL NOT WORK!!!
但当然这只会产生编译错误
使用未分配的局部变量 't'
类中也没有State
设置器或SetState
方法Timer
,因此state
无法在构造后设置。
我能做些什么来完全模仿整个框架的Timer(TimerCallback)
构造函数?