【发布时间】:2011-03-04 20:28:34
【问题描述】:
我需要编写一个库类来执行定时操作,并定期引发一个滴答事件。我需要这个库可以在 WinForms 和非 WinForms 应用程序中使用。
问题在于线程模型对于不同类型的应用程序是完全不同的。 WinForms 应用程序甚至有自己的专用计时器,但我不知道什么类型的应用程序会调用我。
是否有既定模式可以在不事先了解将使用它的应用程序类型(WinForms、WPF、Silverlight、ASP.NET 等)的情况下安全地引发计时器事件?
【问题讨论】:
-
System.Timers 或 System.Threading.Timers 命名空间很有帮助 - .NET Framework 中的大多数其他东西只是这两个命名空间的包装器。
-
你不能在你的库中指定定时器,它需要由客户端代码提供。线程模型是怪物。
标签: winforms multithreading design-patterns timer