Tôi có một giao diện được viết như thế này:
public interface IItemRetriever
{
public IAsyncEnumerable<string> GetItemsAsync();
}
Tôi muốn viết một triển khai trống không trả về mục nào, như vậy:
public class EmptyItemRetriever : IItemRetriever
{
public IAsyncEnumerable<string> GetItemsAsync()
{
// What do I put here if nothing is to be done?
}
}
Nếu đó là một IEn Countable đơn giản, tôi sẽ return Enumerable.Empty<string>();
, nhưng tôi đã không tìm thấy bất kỳ AsyncEnumerable.Empty<string>()
.
Cách giải quyết
Tôi thấy cái này hoạt động nhưng khá lạ:
public async IAsyncEnumerable<string> GetItemsAsync()
{
await Task.CompletedTask;
yield break;
}
Bất kỳ ý tưởng?