Is your feature request related to a problem? Please describe.
This analyzer reports all instances of this condition. There are different schools of thought about requiring an Async suffix on awaitable methods.
- Always, all the time (or not at all) -- these are the only current options
- Only on public methods
- Only on methods that also have non-awaitable methods
- Only on non-private methods (my preference)
- Combinations of the above
Describe the solution you'd like
I'd like to see .editorconfig settings to modify the behavior of this analyzer.
dotnet_diagnostic.VSTHRD200.allowed_exceptions = private, internal, protected, no_non_async
Whether it takes this exact form doesn't matter. I just want to shut this warning up for private methods.
Describe alternatives you've considered
I can silence all instances of this analyzer, silence it by file, live with warnings, or follow rules that we don't agree with.
Additional context
I use source generators for binding methods to a view, and the "fix" functionality renames methods but not the generated reference to them in XAML. So this:
private async Task AddStation() { }
which is generated as
public global::CommunityToolkit.Mvvm.Input.IRelayCommand DeleteUserCommand => deleteUserCommand ??= new global::CommunityToolkit.Mvvm.Input.RelayCommand(new global::System.Action(DeleteUser), () => CanDeleteUser);
would be DeleteUserAsyncCommand, and I would have to go through all of my XAML views and fix it.
Is your feature request related to a problem? Please describe.
This analyzer reports all instances of this condition. There are different schools of thought about requiring an Async suffix on awaitable methods.
Describe the solution you'd like
I'd like to see .editorconfig settings to modify the behavior of this analyzer.
dotnet_diagnostic.VSTHRD200.allowed_exceptions = private, internal, protected, no_non_asyncWhether it takes this exact form doesn't matter. I just want to shut this warning up for private methods.
Describe alternatives you've considered
I can silence all instances of this analyzer, silence it by file, live with warnings, or follow rules that we don't agree with.
Additional context
I use source generators for binding methods to a view, and the "fix" functionality renames methods but not the generated reference to them in XAML. So this:
which is generated as
would be
DeleteUserAsyncCommand, and I would have to go through all of my XAML views and fix it.