9
インターフェイスがタスクを返さなければならない場合、操作なしの実装を行うための最良の方法は何ですか?
以下のコードでは、インターフェースのため、クラスLazyBarはそのメソッドからタスクを返す必要があります(引数のために変更することはできません)。もしLazyBarそれが迅速かつ同期的に実行するために起こるものでの実装は珍しいです-メソッドから無操作のタスクを返すための最良の方法は何ですか? 私はTask.Delay(0)以下に行きましたが、関数がたくさん呼び出された場合(引数のために、毎秒数百回と言う)、これがパフォーマンスの副作用を持っているかどうか知りたいです: この構文糖は何か大きなものに巻き戻されますか? アプリケーションのスレッドプールが詰まり始めますか? コンパイラクリーバーはDelay(0)別の方法で処理するのに十分ですか? うreturn Task.Run(() => { });任意の異なること? もっと良い方法はありますか? using System.Threading.Tasks; namespace MyAsyncTest { internal interface IFooFace { Task WillBeLongRunningAsyncInTheMajorityOfImplementations(); } /// <summary> /// An implementation, that unlike most cases, will not have a long-running /// operation in 'WillBeLongRunningAsyncInTheMajorityOfImplementations' /// </summary> internal class LazyBar : IFooFace { #region …