gpt4 book ai didi

c# - 如果您没有任何异步代码,您如何处理返回 Task 的第 3 方接口(interface)?

转载 作者:太空宇宙 更新时间:2023-11-03 23:07:46 25 4
gpt4 key购买 nike

<分区>

我正在使用第三方 dll,它公开返回 Task 的方法和 Task<T> .我对该程序集或接口(interface)没有任何控制权,并且我假设作者假定所有内容都需要异步,因为方法的命名是 *Async(),如下所示。

鉴于此,如果我实际上没有运行任何异步代码,我该如何正确实现接口(interface)?

public interface IFoo
{
Task DoWorkAsync();

Task<int> GetValueAsync();
}

我的尝试如下:

public class FooBar : IFoo
{
public async Task DoWorkAsync()
{
// Do Some Work

await Task.Yield();
}

public async Task<int> GetValueAsync()
{
// Do Some Work
var result = ...;

return Task.FromResult(result);
}
}

另外:

  • 作者仅公开返回 Task 的方法是否正确?/Task<T>
  • 作者在方法名称后缀 *Async() 中是否正确?如果我编写的异步方法没有在名称后附加 Async,代码分析不会报错。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com