在控制台应用程序中,我们该如何做一个System.Timers.Timer
在主线程中调用Elapsed事件的“简单”问题?c# - System.Timers.Timer主线程上已经发生的事件
我读过一些关于SyncronizingObject
属性的内容,但是目前我还没有尝试实现一个实现ISyncronizeInvoke
接口的类。
编辑(澄清):
我试图模拟一个典型的事件模型。我有一些代码使用基于事件的方法监视某些设备的状态。问题是一些设备不使用事件发送状态,并要求应用程序轮询数据。
找到的解决方案是使用计时器并轮询设备。如果发现任何变化,那么我们会提出类似的现有事件。
问题是遗留代码远离线程安全,并且适应它将是一个不小的任务。
也许有更好的方法。
为什么需要在主线程上执行?是否只是希望主线程等待,直到事件发生后? – Sacrilege
你的主线程在做什么?WinFoems,WPF或可能是服务的一部分? –
它是服务的一部分。 – TiagoOliveira