ラムダ式を使用する以下の Execute(..) メソッドのエレガントな実装を見つけようとしています。私がやろうとしていることは可能ですか?コンパイラーがそのようなラムダ式を(アクションの形式で)渡すことを許可するので、できるはずです。
static void Main(string[] args)
{
// This should execute SomeOperation() synchronously
Execute(() => SomeOperation());
// This should begin execution of SomeOperationAsync(), but not wait (fire and forget)
Execute(() => SomeOperationAsync());
// This should await the execution of SomeOperationAsync() (execute synchronously)
Execute(async () => await SomeOperationAsync());
}
これらの仕様が与えられた場合、上記の Execute メソッドをどのように実装しますか?