DotNetAnalyzers / AsyncUsageAnalyzers

Now superseded by Microsoft/vs-threading
https://github.com/Microsoft/vs-threading
Other
121 stars 18 forks source link

Add special rule for async void eventhandlers. #53

Open JohanLarsson opened 8 years ago

JohanLarsson commented 8 years ago
private async void OnChanged(object sender, EventArgs e)
{
    ...
}

What about adding a rule AvoidAsyncVoidInEventhandlers? The reason for this would be to be able to tune severity separately for them. Heuristics could be: method with two arguments of type object and assignable to EventArgs or maybe it can be figured out from climbing around the syntax tree that the method is only used for subscribing to an event.

Perhaps there could be another analyzer checking that there is try-catch surrounding all awaits.

AArnott commented 6 years ago

Given that async void methods crash the process if they throw, I don't think they should ever be used, event handlers or not.