Универсальный метод для разных входных параметрах - 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;
}