Попробуйте метод расширения, подобный этому.Просто введите TextReader
, соответствующий файлу, из которого вы читаете.
public static IEnumerable<string> ReadOperationsFrom(this TextReader reader)
{
if (reader == null)
throw new ArgumentNullException("reader");
string line;
bool inOperation = false;
var buffer = new StringBuilder();
while ((line = reader.ReadLine()) != null) {
if (inOperation) {
if (line == "$OPERATION")
throw new InvalidDataException("Illegally nested operation block.");
if (line == "$OPERATION_END") {
yield return buffer.ToString();
buffer.Length = 0;
inOperation = false;
} else {
buffer.AppendLine(line);
}
} else if (line == "$OPERATION") {
inOperation = true;
}
}
if (inOperation)
throw new InvalidDataException("Unterminated operation block.");
}