다음과 같이 작성된 인터페이스가 있습니다.
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;
}
어떤 생각?