diff options
| author | Mirta <mirta@twine-s.com> | 2020-12-30 16:39:52 +0200 |
|---|---|---|
| committer | Mirta <mirta@twine-s.com> | 2020-12-30 16:39:52 +0200 |
| commit | 00a491d93733d4625ad329b2ba8237f445364b3f (patch) | |
| tree | 4b24c6fa78d7648f4bb7cefafa464bb0b063fec4 /Software/Visual_Studio/Tango.CSV/CsvFileReader.cs | |
| parent | 124ad4150f80c6846fdee41dbbda9848c105f6e5 (diff) | |
| download | Tango-00a491d9.tar.gz Tango-00a491d9.zip | |
merge
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> |
