События и возвращаемые методы - C#
Формулировка задачи:
Уважаемые коллеги!
Ситуация в следующем:
есть необходимость открывать xml, xls, xlsx файлы и записывать их содержимое в List<>
преобразование делаю в отдельном классе Class_2
из основного класса Class_1 передаю путь к файлу, так же хочу подписаться на событий в Class_2 на счётчик обработанных строк из заданного файла
подписываюсь на событие в Class_2, событие изменение счётчика обработанных строк загруженного файла.
Так вот событие есть в методе
Class_1 { ....... Class_2 cl_2=new Class_2(); cl_2.ConvertFile(path); ....... } Class_2 { ....... ConvertFile(string path) { switch (Path.GetExtension(path)) { case ".XLS": return xls_pars(path); case ".XML": return xml_pars(path); case ".XLSX": return xlsx_pars(path); default: break; } } xls_pars(string path) { ....... } }
ConvertFile()
, а после прохождения switch---case событие в методеxls_pars()
становитсяNULL
что я делаю не так? почему такая схема - я хотел, как в книжках пишут, обработку файла в отдельный класс поместить с входным параметром "путь к выбранному файлу
", а на выходе из класса массивLIST<DataArray>
Заранее спасибо!Решение задачи: «События и возвращаемые методы»
textual
Листинг программы
public partial class Form1 : Form { ConvertSelectetdFile csf = new ConvertSelectetdFile(); List<DataArray> workList_2 = new List<DataArray>(); private void button1_Click(object sender, EventArgs e) { workList_2.Clear(); worklist_2.AddRange(csf.convertSelectetdFile(path); } } class ConvertSelectetdFile { private delegate List<DataArray> ConvertFile(string path); public ConvertSelectetdFile() { _dictionary = new Dictionary<string, ConvertFile> { {".xls", pars_xls }, {".xlsx", pars_xlsx }, {".xml", pars_xml }, }; } public List<DataArray> convertSelectetdFile(string file) { return _dictionary[Path.GetExtension(file)] (file); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д