Универсальный метод для разных входных параметрах - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Есть такой код, я уже частично его приводил
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Xml.Linq;
  6. using ExcelLibrary;
  7. using DocumentFormat.OpenXml.Packaging;
  8. namespace XML_Parser
  9. {
  10. struct DataArray
  11. {
  12. public string Time;
  13. public string Type_1;
  14. public string Type_2;
  15. public string Type_3;
  16. public string Type_4;
  17. public string Type_5;
  18. public DataArray(string type_1, string type_2, string type_3, string type_4, string type_5)
  19. {
  20. Type_1 = type_1;
  21. Type_2 = type_2;
  22. Type_3 = type_3;
  23. Type_4 = type_4;
  24. Type_5 = type_5;
  25. }
  26. class ConvertSelectetdFile
  27. {
  28. List<DataArray> workList = new List<DataArray>();
  29. /// <summary>
  30. /// метод обрабатывающий файлы формата "*.XML"
  31. /// </summary>
  32. /// <param name="file">путь к файлу</param>
  33. /// <returns>преобразованный файл для дальнейшего анализа</returns>
  34. private List<DataArray> pars_xml(string file)
  35. {
  36. workList.Clear();
  37. XNamespace o = "urn:schemas-microsoft-com:office:office";
  38. XNamespace x = "urn:schemas-microsoft-com:office:excel";
  39. XNamespace ss = "urn:schemas-microsoft-com:office:spreadsheet";
  40. XDocument xDoc;
  41. try
  42. {
  43. xDoc = XDocument.Load(file);
  44. }
  45. catch (Exception)
  46. {
  47. throw;
  48. }
  49. for (int i = 1; i < xDoc.Descendants(ss + "Row").Count(); i++)
  50. {
  51. DataArray da = new DataArray();
  52. da.Type_1 = xDoc.Descendants(ss + "Row").ElementAt(i).Elements().ElementAt(0).Value.ToString();
  53. da.Type_2 = xDoc.Descendants(ss + "Row").ElementAt(i).Elements().ElementAt(2).Value.ToString();
  54. da.Type_3 = xDoc.Descendants(ss + "Row").ElementAt(i).Elements().ElementAt(11).Value.ToString();
  55. da.Type_3 = xDoc.Descendants(ss + "Row").ElementAt(i).Elements().ElementAt(12).Value.ToString();
  56. da.Type_4 = xDoc.Descendants(ss + "Row").ElementAt(i).Elements().ElementAt(13).Value.ToString();
  57. da.Type_5 = xDoc.Descendants(ss + "Row").ElementAt(i).Elements().ElementAt(14).Value.ToString();
  58. workList.Add(da);
  59. }
  60. return workList;
  61. }
  62. }
Я получаю List такого вида:

List<DataArray>. ********

вместо **** название поля в котором хранится некое значение. Как бы сделать общий метод для работы с этим

List

чтобы можно было находить какие-то значения. Допустим List,DataArray>.Type_1 найти все уникальные значения или что-то ещё. Получается, что работу нужно делать одну и туже, но в зависимости от нужного

Type_***

Возможно ли вообще такое, чтобы через входной параметр в некий метод, выбирать нужно поле в List и делать с этим всё что нужно? Спасибо!

Решение задачи: «Универсальный метод для разных входных параметрах»

textual
Листинг программы
  1. .......
  2. _tempList.Add(SomeMethod("Type_1"));
  3.  
  4.  
  5. Private DataArray SomeMethod ( string _type_1)
  6.   {
  7.       for (i=0; i<=100; i++;)
  8.         {
  9.              _list[i]._type_1="somethink";
  10.         }
  11.       return _list;
  12.   }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.25 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы