Проверка пользовательского кода для ConfigureAwait
Я создал свой собственный способ по существу устанавливать ConfigureAwait(false) только один раз в верхней части каждого асинхронного метода, что позволяет мне не добавлять приложение ConfigureAwait(false) в конце каждого вызова await. Теперь я могу сделать что-то вроде:
public async Task MyMethod()
{
await ConfigureAwait.Off;
var data = await _client.GetDataAsync();
}
Вот проблема: у меня есть очень большое решение, и я сейчас пытаюсь найти эффективный способ добавить это к любому асинхронному методу и удалить любые избыточные вызовы.ConfigureAwait(false). Я пытался найти шаблон Resharper без какой-либо удачи. Любые идеи или предложения с благодарностью.
Это ниже не работает вообще с помощью resharpers Search for Pattern:
Шаблон поиска:
public async Task $method$($args1$) { $stmt$ }
Заменить шаблон:
public async Task $method$($args1$)
{
await ConfigureAwait.Off;
$stmt$
}
Примечание. Это также не учитывает асинхронные методы, которые уже могут его определять, а также удаление любых избыточных.ConfigureAwait(false);