次のようなインターフェースがある場合:
using System.Threading.Tasks;
...
public interface IFoo
{
  Task doIt();
  Task<bool> doItAndReturnStuff();
}
このインターフェイスを実装するクラスの 1 つはたまたま非同期メソッドを必要としません。これらの関数をオーバーライドするにはどうすればよいですか?
つまり、Task オブジェクトにラップされた "void" と "bool" を正しく返すにはどうすればよいでしょうか?
例えば:
public class FooHappensToNotNeedAsync : IFoo
{
  public override Task doIt()
  {
    // If I don't return anything here, I get
    // error that not all code paths return a value.
    // Can I just return null?
  }
  public override Task<bool> doItAndReturnStuff()
  {
    // If I want to return true, how to I do it?
    // This doesn't work:
    return true;
  }
}
注 - このインターフェイスを実装するクラスの一部は実際には非同期であるため、Task を完全に削除することはできません。
ありがとう