У мене є інтерфейс, який написаний так:
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?
}
}
Якби це була звичайна БЕЗПЕЧНА Я return Enumerable.Empty<string>();
, але я не знайшла жодної AsyncEnumerable.Empty<string>()
.
Обхідні шляхи
Я знайшов це, що працює, але досить дивно:
public async IAsyncEnumerable<string> GetItemsAsync()
{
await Task.CompletedTask;
yield break;
}
Будь-яка ідея?