Метод удаления, который возвращает таймер - PullRequest
1 голос
/ 14 сентября 2011

У меня есть метод, который возвращает System.Timers.Timer, а затем я использую его вместе с кодом. Но MS Code Analysis выдает предупреждение: CA2000: избавьтесь от объектов, прежде чем потерять область видимости. Можно ли вручную удалить таймер и, следовательно, не обнаружить такое сообщение?

Спасибо!

Ответы [ 2 ]

3 голосов
/ 14 сентября 2011

System.Timers.Timer реализует IDisposable, поэтому просто поместите его внутрь using:

using(var timer = MyMethodThatReturnsTimer())
{
}

Если вы не можете использовать using, просто позвоните Dispose.

2 голосов
/ 14 сентября 2011

Поскольку System.Timers.Timer подразумевает IDisposable, вы можете заключить вызов метода в оператор using, чтобы убедиться, что Dispose вызывается.

using(var timer = myClass.TimerMethod())
{
  // Do the work here
}
...