C# 如何让VS/MSBuild在C中调用异步void时发出警告#

C# 如何让VS/MSBuild在C中调用异步void时发出警告#,c#,visual-studio,msbuild,async-await,C#,Visual Studio,Msbuild,Async Await,调用异步void函数时,如何使Visual Studio/MSBuild发出警告 我们有一些错误,我们意外地调用了一个异步void事件处理程序,而不是等待异步任务(类似的名称) 每当有人这样做时,我都要发出警告 如果在不等待的情况下调用异步任务,则会触发CS4014。我想要同样的行为 乙二醇 如果你找不到一种代码分析方法,并且取决于你在哪里使用它,一种新颖的方法可能是使用一些属性并将其设置为private(我想应该已经是了) 隐藏类的属性 通过为 EditorBrowsableAttribut

调用异步void函数时,如何使Visual Studio/MSBuild发出警告

我们有一些错误,我们意外地调用了一个异步void事件处理程序,而不是等待异步任务(类似的名称)

每当有人这样做时,我都要发出警告

如果在不等待的情况下调用异步任务,则会触发CS4014。我想要同样的行为

乙二醇


如果你找不到一种代码分析方法,并且取决于你在哪里使用它,一种新颖的方法可能是使用一些属性并将其设置为private(我想应该已经是了)

隐藏类的属性 通过为 EditorBrowsableAttribute属性


如果你找不到一种代码分析方法,并且取决于你在哪里使用它,一种新颖的方法可能是使用一些属性并将其设置为private(我想应该已经是了)

隐藏类的属性 通过为 EditorBrowsableAttribute属性


这取决于我是否记得添加属性。因为大多数事件处理程序在我使用resharper时都是自动生成的,所以它们几乎肯定也会被遗忘。@rolls然后你将沿着vs插件的路径前进,或者进行某种代码分析。这将依赖于我记住添加属性。由于大多数事件处理程序在我使用resharper时都是自动生成的,所以它们几乎肯定也会被遗忘。@rolls然后您将使用vs插件或某种代码分析
async void DoStuffHandler()
{
    await DoStuff();
}

async Task DoStuff()
{

}

async Task DoMoreStuff()
{
    //Warn that we probably called this by mistake
    DoStuffHandler();
}
[EditorBrowsable(EditorBrowsableState.Never)]
[ObsoleteAttribute("OMG DONT USE THIS")]