我有一个返回System.Timers.Timer的方法,然后我在代码中使用它。 但MS Code Analysis发出警告:CA2000:在丢失范围之前处置对象 是否可以手动处理定时器,因此不能发现这样的消息?
谢谢!
答案 0 :(得分:3)
System.Timers.Timer
实施IDisposable
所以只需将其放入using
:
using(var timer = MyMethodThatReturnsTimer())
{
}
如果您无法使用using
,请自行致电Dispose
。
答案 1 :(得分:2)
自System.Timers.Timer
隐私IDisposable
以来,您可以将方法调用包装在using
语句中,以确保调用Dispose
。
using(var timer = myClass.TimerMethod())
{
// Do the work here
}