Я пытаюсь импортировать файл с несколькими определениями записей в нем. У каждого из них также может быть запись заголовка, поэтому я подумал, что определю интерфейс определения таким образом.
public interface IRecordDefinition<T>
{
bool Matches(string row);
T MapRow(string row);
bool AreRecordsNested { get; }
GenericLoadClass ToGenericLoad(T input);
}
Затем я создал конкретную реализацию для класса.
public class TestDefinition : IRecordDefinition<Test>
{
public bool Matches(string row)
{
return row.Split('\t')[0] == "1";
}
public Test MapColumns(string[] columns)
{
return new Test {val = columns[0].parseDate("ddmmYYYY")};
}
public bool AreRecordsNested
{
get { return true; }
}
public GenericLoadClass ToGenericLoad(Test input)
{
return new GenericLoadClass {Value = input.val};
}
}
Однако для каждого определения файла мне нужно сохранить список записи. определения, чтобы затем я мог перебрать каждую строку в файле и обработать ее соответствующим образом.
Во-первых, я на правильном пути
или есть лучший способ сделать это?