相关疑难解决方法(0)

创建空的 IAsyncEnumerable

我有一个这样写的界面:

public interface IItemRetriever
{
    public IAsyncEnumerable<string> GetItemsAsync();
}
Run Code Online (Sandbox Code Playgroud)

我想编写一个不返回任何项目的空实现,如下所示:

public class EmptyItemRetriever : IItemRetriever
{
    public IAsyncEnumerable<string> GetItemsAsync()
    {
       // What do I put here if nothing is to be done?
    }
}
Run Code Online (Sandbox Code Playgroud)

如果它是一个普通的 IEnumerable,我会return Enumerable.Empty<string>();,但我没有找到任何AsyncEnumerable.Empty<string>().

解决方法

我发现这有效但很奇怪:

public async IAsyncEnumerable<string> GetItemsAsync()
{
    await Task.CompletedTask;
    yield break;
}
Run Code Online (Sandbox Code Playgroud)

任何的想法?

c# c#-8.0 iasyncenumerable

34
推荐指数
3
解决办法
6242
查看次数

标签 统计

c# ×1

c#-8.0 ×1

iasyncenumerable ×1