Универсальный метод для разных входных параметрах - 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;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д