Как заставить VS / MSBuild предупреждать при вызове async void в C # - PullRequest
0 голосов
/ 19 ноября 2018

Как заставить Visual Studio / MSBuild предупреждать при вызове асинхронной пустой функции?

У нас было несколько ошибок, когда мы случайно вызывали обработчик асинхронных пустот вместо того, чтобы ожидать асинхронную задачу (похожие имена).

Я бы хотел, чтобы VS предупреждал всякий раз, когда кто-то делает это.

CS4014 срабатывает, если вы вызываете асинхронную задачу, не ожидая ее. Я хотел бы того же поведения.

Например

async void DoStuffHandler()
{
    await DoStuff();
}

async Task DoStuff()
{

}

async Task DoMoreStuff()
{
    //Warn that we probably called this by mistake
    DoStuffHandler();
}

1 Ответ

0 голосов
/ 19 ноября 2018

Если вы не можете найти подход анализа кода, и в зависимости от того, где вы его используете, новый подход может состоять в том, чтобы использовать некоторые атрибуты и установить его private (что уже должно быть, я думаю)

[EditorBrowsable(EditorBrowsableState.Never)]

EditorBrowsableAttribute Class

Скрыть свойство класса из IntelliSense, установив соответствующее значение для атрибута EditorBrowsableAttribute ..

и Класс устаревших атрибутов

[ObsoleteAttribute("OMG DONT USE THIS")] 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...