title: What should I use as a dummy awaitable?
body: <p>I have a Base class which provides a method with the following signature:</p>
  
  <pre><code>virtual async Task RunAsync()
  </code></pre>
  
  <p>Derived classes should override this implementation with something like</p>
  
  <pre><code>public override async Task RunAsync()
  {
    await base.RunAsync();
    await this.DoSomethingElse();
  }
  </code></pre>
  
  <p>Now the compiler gives me a warning that the Base.RunAsync is lacking an await statement. I want that my code is warning free, not suppressing warnings and that it runs without having to provide null checks even if the derived class doesn't provide an override implementation, therefore going with <code>virtual Task RunAsync()</code> (omitting the async keyword) is not possible.</p>
  
  <p>For now the implementation in the base method is <code>await Task.Delay(0);</code> which dismisses the compiler warning, yet is somehow not "clean" in my opinion. What is the right way to cope with this subject?</p>