У меня есть интерфейс, который написан так:
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;
}
Есть идеи?