【发布时间】:2014-10-28 00:06:54
【问题描述】:
考虑以下 C# 代码:
if (finalTextConvertTimer != null)
{
if (finalTextConvertTimer.IsEnabled)
{
finalTextConvertTimer.Stop();
}
finalTextConvertTimer.Start();
}
是否需要先停止定时器?这里的一位开发人员说不是。只是在寻找验证。
【问题讨论】:
-
定时器存在(未释放),然后调用
Stop()是安全的,无需检查任何内容。 -
如果你想重新启动让它再次计时完整的Interval,那么可以。
-
是的,@HansPassant。目的是让计时器像第一次启动一样启动。我的同事坚持调用 Start() 无论如何都会这样做。
-
这种争论是相当愚蠢的,你可以自己尝试一下或者看看at the source code。很容易看出,如果定时器已经启用,Start() 绝对不会做任何事情。
-
那么,为什么微软会声称 Interval 已重新启动?
标签: c# dispatchertimer