From 5ef8a881ef8f52102a26614aaf5a3b7f39469f4e Mon Sep 17 00:00:00 2001 From: Josh Close Date: Wed, 5 Oct 2022 15:21:44 -0500 Subject: [PATCH] Changed GetFieldIndex(string[] names...) to GetFieldIndex(IEnumerable names...). Breaking change. --- src/CsvHelper/CsvReader.cs | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/CsvHelper/CsvReader.cs b/src/CsvHelper/CsvReader.cs index afd142330..7f7472e97 100644 --- a/src/CsvHelper/CsvReader.cs +++ b/src/CsvHelper/CsvReader.cs @@ -213,7 +213,7 @@ protected virtual void ValidateHeader(ClassMap map, List invalidH continue; } - var index = GetFieldIndex(memberMap.Data.Names.ToArray(), memberMap.Data.NameIndex, true); + var index = GetFieldIndex(memberMap.Data.Names, memberMap.Data.NameIndex, true); var isValid = index != -1 || memberMap.Data.IsOptional; if (!isValid) { @@ -1209,12 +1209,7 @@ public virtual int GetFieldIndex(string name, int index = 0, bool isTryGet = fal } /// - public virtual int GetFieldIndex(string[] names, int index = 0, bool isTryGet = false, bool isOptional = false) - { - return GetFieldIndex((IEnumerable)names, index, isTryGet, isOptional); - } - - internal int GetFieldIndex(IEnumerable names, int index = 0, bool isTryGet = false, bool isOptional = false) + public virtual int GetFieldIndex(IEnumerable names, int index = 0, bool isTryGet = false, bool isOptional = false) { if (names == null) { @@ -1241,7 +1236,7 @@ internal int GetFieldIndex(IEnumerable names, int index = 0, bool isTryG // Check all possible names for this field. string name = null; - int i = 0; + var i = 0; foreach (var n in names) { // Get the list of indexes for this name. @@ -1252,6 +1247,7 @@ internal int GetFieldIndex(IEnumerable names, int index = 0, bool isTryG name = fieldName; break; } + i++; } @@ -1261,7 +1257,7 @@ internal int GetFieldIndex(IEnumerable names, int index = 0, bool isTryG // It doesn't exist. The field is missing. if (!isTryGet && !isOptional) { - var args = new MissingFieldFoundArgs(names as string[] ?? names.ToArray(), index, context); + var args = new MissingFieldFoundArgs(names.ToArray(), index, context); missingFieldFound?.Invoke(args); }