Detects improper usage of void return in an async method This product is not supported for your selected 
Datadog site . (
).
TRY THIS RULE ID:  csharp-best-practices/async-task-not-void
Language:  C#
Severity:  Error
Category:  Best Practices
Description According to the task asynchronous programming  (TAP) model, async methods should only return void if they are event handlers . Otherwise, they should return Task or Task<TResult>
Non-Compliant Code Examples class  NonCompliant  { 
    async  void  AsyncFetch ()  {  /* ... */  } 
     async  void  Click ()  {  /* ... */  } 
     async  void  HandleClick ( object  sender ,  EventArgs  e ,  string  notEventHandlerDelegateSignature )  {  /* ... */  } 
 } 
 using  Microsoft.Extensions.Logging ; 
using  Microsoft.Extensions.Logging.Abstractions ; 
 namespace  Gemini.Build.CodeGeneration 
{ 
    public  class  Logger  :  ILogger 
     { 
         public  static  ILogger  Log  {  get ;  set ;  }  =  NullLogger . Instance ; 
 
         void  ILogger . Log < TState >( LogLevel  logLevel ,  EventId  eventId ,  TState  state ,  Exception ?  exception ,  Func < TState ,  Exception ?,  string >  formatter ) 
         { 
             Log . Log ( logLevel ,  eventId ,  state ,  exception ,  formatter ); 
         } 
 
         public  bool  IsEnabled ( LogLevel  logLevel ) 
         { 
             return  Log . IsEnabled ( logLevel ); 
         } 
 
         public  IDisposable  BeginScope < TState >( TState  state ) 
         { 
             return  Log . BeginScope ( state ); 
         } 
     } 
 } 
Compliant Code Examples class  Compliant  { 
    async  Task  AsyncFetch ()  {  /* ... */  } 
     async  void  OnClick ()  {  /* ... */  } 
     async  void  HandleClick ( object  sender ,  EventArgs  e )  {  /* ... */  } 
 } 
Seamless integrations.  Try Datadog Code Security