У меня есть async метод, который вызывается во время возникновения Elapsed у System.Timers.Timer. Делегат принимает только сигнатуру void метода, но как пишут в интернете async void это небезопасно, а следовательно надо избегать подобного. Что мне делать в такой ситуации, где я вынужден использовать async void?
private async void _timer_Elapsed(object? sender, ElapsedEventArgs e)
{
await Check();
}
async void– CrazyElf Mar 25 '22 at 12:41async void- плохо, вы без труда найдете, где почитать, почему именно. И допускаетсяasync voidтолько когда по-другому никак, а в вашем случае очень даже как. Кстати, даже так можно, и этого не умеет ни один таймер. Все таймеры засекают время между концом предыдущего обработчика и началом следующего. – aepot Mar 26 '22 at 12:56