ファイルから読み取られてフィルター処理されている文字列のリストがあります。これらはすべて、yield メカニズムを使用して行われているため、遅延しています。次に、これを TextReader を受け取るメソッドに渡す必要があります。
この方法に何か問題はありますか?うまくいくようですが、何かを見逃していたことを知りたかったのです。
public class EnumerableReader : TextReader
{
private readonly IEnumerator<string> _enumerator;
public EnumerableReader(IEnumerable<string> lines)
{
_enumerator = lines.GetEnumerator();
}
public override string ReadLine()
{
return _enumerator.MoveNext() ? _enumerator.Current : null;
}
protected override void Dispose(bool disposing)
{
_enumerator.Dispose();
base.Dispose(disposing);
}
}