私はこのように書かれたインターフェースを持っています:
public interface IItemRetriever
{
public IAsyncEnumerable<string> GetItemsAsync();
}
次のように、アイテムを返さない空の実装を記述したいと思います。
public class EmptyItemRetriever : IItemRetriever
{
public IAsyncEnumerable<string> GetItemsAsync()
{
// What do I put here if nothing is to be done?
}
}
それが単純なIEnumerableである場合、私は return Enumerable.Empty<string>();
、私はそうしますが、何も見つかりませんでしたAsyncEnumerable.Empty<string>()
。
回避策
私はこれがうまくいくのを見つけましたが、かなり奇妙です:
public async IAsyncEnumerable<string> GetItemsAsync()
{
await Task.CompletedTask;
yield break;
}
何か案が?