diff options
Diffstat (limited to 'Software/Visual_Studio/Tango.CSV/CsvFileReader.cs')
| -rw-r--r-- | Software/Visual_Studio/Tango.CSV/CsvFileReader.cs | 32 |
1 files changed, 6 insertions, 26 deletions
diff --git a/Software/Visual_Studio/Tango.CSV/CsvFileReader.cs b/Software/Visual_Studio/Tango.CSV/CsvFileReader.cs index 79f716aab..6d1deded2 100644 --- a/Software/Visual_Studio/Tango.CSV/CsvFileReader.cs +++ b/Software/Visual_Studio/Tango.CSV/CsvFileReader.cs @@ -35,8 +35,6 @@ namespace Tango.CSV private readonly char textQualifier; private readonly StringBuilder parseFieldResult = new StringBuilder(); - - /// <summary> /// Initializes a new instance of the <see cref="CsvFileReader{T}"/> class. /// </summary> @@ -242,39 +240,22 @@ namespace Tango.CSV /// <param name="c">The c.</param> /// <param name="staticMember">if set to <c>true</c> [static member].</param> /// <returns></returns> - private static Action<T, string> FindSetter(string c, bool staticMember, int? index = null) + private static Action<T, string> FindSetter(string c, bool staticMember) { var flags = BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.IgnoreCase | (staticMember ? BindingFlags.Static : BindingFlags.Instance); Action<T, string> action = null; - PropertyInfo pi = typeof(T).GetProperty(c, flags); if (pi != null) { var pFunc = StringToObject(pi.PropertyType); action = EmitSetValueAction(pi, pFunc); } - - if (action == null) - { - FieldInfo fi = typeof(T).GetField(c, flags); - if (fi != null) - { - var fFunc = StringToObject(fi.FieldType); - action = EmitSetValueAction(fi, fFunc); - } - } - - if (action == null && index != null) + FieldInfo fi = typeof(T).GetField(c, flags); + if (fi != null) { - var propByIndex = typeof(T).GetProperties(flags).SingleOrDefault(x => x.GetCustomAttribute<CsvOrderAttribute>() != null && x.GetCustomAttribute<CsvOrderAttribute>().Index == index); - - if (propByIndex != null) - { - var pFunc = StringToObject(propByIndex.PropertyType); - action = EmitSetValueAction(propByIndex, pFunc); - } + var fFunc = StringToObject(fi.FieldType); + action = EmitSetValueAction(fi, fFunc); } - return action; } @@ -311,7 +292,7 @@ namespace Tango.CSV Action<T, string> action = null; if (columnName.IndexOf(' ') >= 0) columnName = columnName.Replace(" ", ""); - action = FindSetter(columnName, false, i) ?? FindSetter(columnName, true, i); + action = FindSetter(columnName, false) ?? FindSetter(columnName, true); list.Add(action); } @@ -422,7 +403,6 @@ namespace Tango.CSV break; } this.columns = readColumns.ToArray(); - Columns = this.columns; } /// <summary> |
