From cdfe2e5c666d9131b9f62674bcb3b6047b788fa1 Mon Sep 17 00:00:00 2001 From: nlee39 <20540837+nlee39@users.noreply.github.com> Date: Fri, 21 Jul 2017 11:44:18 -0500 Subject: [PATCH] Remove MustNotifyRead in MultiRecordEngine The EventEngineBase.MustNotifyRead property does not work correctly in MultiRecordEngine. This is because the EngineBase.RecordInfo property is set only based on the first record type. The easy fix is to use the local info.NotiyRead in MultiRecordEngine --- FileHelpers/Engines/MultiRecordEngine.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/FileHelpers/Engines/MultiRecordEngine.cs b/FileHelpers/Engines/MultiRecordEngine.cs index e37060354..99b9a9b60 100644 --- a/FileHelpers/Engines/MultiRecordEngine.cs +++ b/FileHelpers/Engines/MultiRecordEngine.cs @@ -201,7 +201,7 @@ public object[] ReadStream(IRecordReader reader) OnProgress(new ProgressEventArgs(currentRecord, -1)); BeforeReadEventArgs e = null; - if (MustNotifyRead) // Avoid object creation + if (info.NotifyRead) // Avoid object creation { e = new BeforeReadEventArgs(this, record, currentLine, LineNumber); skip = OnBeforeReadRecord(e); @@ -212,7 +212,7 @@ public object[] ReadStream(IRecordReader reader) if (skip == false) { var values = new object[info.FieldCount]; if (info.Operations.StringToRecord(record, line, values)) { - if (MustNotifyRead) // Avoid object creation + if (info.NotifyRead) // Avoid object creation skip = OnAfterReadRecord(currentLine, record, e.RecordLineChanged, LineNumber); if (skip == false) @@ -646,7 +646,7 @@ private void ReadNextRecord() var values = new object[info.FieldCount]; mLastRecord = info.Operations.StringToRecord(line, values); - if (MustNotifyRead) + if (info.NotifyRead) { OnAfterReadRecord(currentLine, mLastRecord, false, LineNumber); }