返回Timer的处理方法

时间:2011-09-14 12:53:30

标签: c# .net c#-4.0

我有一个返回System.Timers.Timer的方法,然后我在代码中使用它。 但MS Code Analysis发出警告:CA2000:在丢失范围之前处置对象 是否可以手动处理定时器,因此不能发现这样的消息?

谢谢!

2 个答案:

答案 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
}