Sicherung

This commit is contained in:
Maier Stephan SI
2023-01-20 16:09:00 +01:00
parent e5257d8413
commit b684704bf8
139 changed files with 95678 additions and 499 deletions

View File

@@ -0,0 +1,57 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
namespace Kalk.Core.Helpers
{
class LineReader : IEnumerable<string>
{
private readonly Func<TextReader> _getReader;
public LineReader(Func<TextReader> getReader)
{
this._getReader = getReader;
}
public IEnumerator<string> GetEnumerator()
{
return new LineEnumerator(_getReader());
}
IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator();
}
private class LineEnumerator : IEnumerator<string>
{
private readonly TextReader _reader;
public LineEnumerator(TextReader reader)
{
_reader = reader;
}
public bool MoveNext()
{
Current = _reader.ReadLine();
return Current != null;
}
public void Reset()
{
throw new NotSupportedException("Cannot reset a line reader");
}
public string Current { get; private set; }
object? IEnumerator.Current => Current;
public void Dispose()
{
_reader.Dispose();
}
}
}
}