Универсальный метод для разных входных параметрах - C#
Формулировка задачи:
Здравствуйте!
Есть такой код, я уже частично его приводил
Я получаю List такого вида:
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Xml.Linq; using ExcelLibrary; using DocumentFormat.OpenXml.Packaging; namespace XML_Parser { struct DataArray { public string Time; public string Type_1; public string Type_2; public string Type_3; public string Type_4; public string Type_5; public DataArray(string type_1, string type_2, string type_3, string type_4, string type_5) { Type_1 = type_1; Type_2 = type_2; Type_3 = type_3; Type_4 = type_4; Type_5 = type_5; } class ConvertSelectetdFile { List<DataArray> workList = new List<DataArray>(); /// <summary> /// метод обрабатывающий файлы формата "*.XML" /// </summary> /// <param name="file">путь к файлу</param> /// <returns>преобразованный файл для дальнейшего анализа</returns> private List<DataArray> pars_xml(string file) { workList.Clear(); XNamespace o = "urn:schemas-microsoft-com:office:office"; XNamespace x = "urn:schemas-microsoft-com:office:excel"; XNamespace ss = "urn:schemas-microsoft-com:office:spreadsheet"; XDocument xDoc; try { xDoc = XDocument.Load(file); } catch (Exception) { throw; } for (int i = 1; i < xDoc.Descendants(ss + "Row").Count(); i++) { DataArray da = new DataArray(); da.Type_1 = xDoc.Descendants(ss + "Row").ElementAt(i).Elements().ElementAt(0).Value.ToString(); da.Type_2 = xDoc.Descendants(ss + "Row").ElementAt(i).Elements().ElementAt(2).Value.ToString(); da.Type_3 = xDoc.Descendants(ss + "Row").ElementAt(i).Elements().ElementAt(11).Value.ToString(); da.Type_3 = xDoc.Descendants(ss + "Row").ElementAt(i).Elements().ElementAt(12).Value.ToString(); da.Type_4 = xDoc.Descendants(ss + "Row").ElementAt(i).Elements().ElementAt(13).Value.ToString(); da.Type_5 = xDoc.Descendants(ss + "Row").ElementAt(i).Elements().ElementAt(14).Value.ToString(); workList.Add(da); } return workList; } }
List<DataArray>. ********
вместо **** название поля в котором хранится некое значение. Как бы сделать общий метод для работы с этимList
чтобы можно было находить какие-то значения. Допустим List,DataArray>.Type_1 найти все уникальные значения или что-то ещё. Получается, что работу нужно делать одну и туже, но в зависимости от нужногоType_***
Возможно ли вообще такое, чтобы через входной параметр в некий метод, выбирать нужно поле в List и делать с этим всё что нужно? Спасибо!Решение задачи: «Универсальный метод для разных входных параметрах»
textual
Листинг программы
....... _tempList.Add(SomeMethod("Type_1")); Private DataArray SomeMethod ( string _type_1) { for (i=0; i<=100; i++;) { _list[i]._type_1="somethink"; } return _list; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д