Size: a a a

2021 August 19

ВE

Виталий EasyMod... in С#
источник

ВГ

Влад Горбачёв... in С#
Ок, может изначально неправильно подошел к задаче. Хочу попробовать парсить разные документы со статистикой. Есть много форматов документов, у каждого своя структура файла и очень мало чего общего. Поэтому под каждый файл придётся писать свой парсер.
источник

ВГ

Влад Горбачёв... in С#
Пока представляю это так:
источник

ВГ

Влад Горбачёв... in С#
источник

ВГ

Влад Горбачёв... in С#
И реализация:
источник

ВГ

Влад Горбачёв... in С#
источник

ВГ

Влад Горбачёв... in С#
Но не могу придумать, что делать, если у того же инстаграма будет 2 документа со статистикой в разных форматах. Один в виде excel, а другой в каком-то csv
источник

ВE

Виталий EasyMod... in С#
Csv считай тот же ексель
источник

ВГ

Влад Горбачёв... in С#
Да, просто под каждый формат придётся создавать свой парсер
источник

ВГ

Влад Горбачёв... in С#
И каждый раз открывать файл и извлекать из него что-то
источник

ВE

Виталий EasyMod... in С#
Это нормально, для этого стратегия и предназначена
источник

R

Ruslan in С#
почему? потому что ексель его открывает?
источник

ВГ

Влад Горбачёв... in С#
Поэтому хотел передавать не string fileName, а какой-то интерфейс, который бы уже возвращал DataTable или другие форматы, с которыми приятнее работать. Что б каждый раз не писать реализацию открытия документа
источник

ВE

Виталий EasyMod... in С#
Я так хмл сделал парсер, приходит 8 разных файлов постоянно с разной структурой. Определяется какого формата файл и в свиче выбирается нужная стратегия - класс, реализующий интерфейс с методом parse но внутри каждого своя логика
источник

R

Ruslan in С#
можно по расширению, но парсер то все равно придется писать
источник

ВE

Виталий EasyMod... in С#
Не путай причину и следствие.
источник

ВE

Виталий EasyMod... in С#
Ты короче упорно не хочешь почитать поо паттерн. Там уже все ответы на твои вопросы
источник

ВГ

Влад Горбачёв... in С#
Ок, сейчас чекну твою статью
источник

ВГ

Влад Горбачёв... in С#
спасибо
источник

R

Ruslan in С#
а что я путаю? твой вариант, что все оно одинаково, это для конечного пользователя. а в данном случае форматы программа открывает/считывает и делает с ними что то
источник