//-> /File //-> To work with this engine you must create one instance of it in this way: protected override void Run() { //-> File:RunEngine.cs var engine = new FileHelpers.MultiRecordEngine(typeof(Orders), typeof(Customer), typeof(SampleType)); engine.RecordSelector = new RecordTypeSelector(CustomSelector); var res = engine.ReadFile("Input.txt"); foreach (var rec in res) { Console.WriteLine(rec.ToString()); } //-> /File }
//-> This is the selector that determines the record type based on whatever criteria you write //-> File:Selector.cs private Type CustomSelector(FileHelpers.MultiRecordEngine engine, string recordLine) { if (recordLine.Length == 0) { return(null); } if (char.IsLetter(recordLine[0])) { return(typeof(Customer)); } else if (recordLine.Length == 14) { return(typeof(SampleType)); } else { return(typeof(Orders)); } }