If my interface must return Task what is the best way to have a no-operation implementation?

后端 未结 9 1071
-上瘾入骨i
-上瘾入骨i 2020-11-28 17:59

In the code below, due to the interface, the class LazyBar must return a task from its method (and for argument\'s sake can\'t be changed). If LazyBar

9条回答
  •  旧时难觅i
    2020-11-28 18:24

    I prefer the Task completedTask = Task.CompletedTask; solution of .Net 4.6, but another approach is to mark the method async and return void:

        public async Task WillBeLongRunningAsyncInTheMajorityOfImplementations()
        {
        }
    

    You'll get a warning (CS1998 - Async function without await expression), but this is safe to ignore in this context.

提交回复
热议问题