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

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

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

Здравствуйте! Есть такой код, я уже частично его приводил
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 такого вида:

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;
  }

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


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

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

12   голосов , оценка 4.25 из 5
Похожие ответы