3

ファイルから読み取られてフィルター処理されている文字列のリストがあります。これらはすべて、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);
    }
}
4

1 に答える 1