Каков наилучший способ задержки операции на пару секунд? я нашел следующий код на StackOverflow:C# Задержка операции без утечки памяти
var timer = new DispatcherTimer { Interval = TimeSpan.FromSeconds(5) };
timer.Start();
timer.Tick += (_sender, _args) =>
{
timer.Stop();
operation();
};
, но я не думаю, что сборщик мусора достаточно умен, чтобы удалить этот таймер из памяти, поскольку он не знает, что Tick
зависит от Start
/Stop
операций и таймер больше не включается.
Я думаю, мне нужно будет удалить мероприятие первым, но для этого мне нужно будет извлечь лямбду на отдельным методом. Есть ли лучший способ просто задержать операцию?
Посмотрите на 'System.Threading.SpinWait' – Oliver