|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.05.2020, 10:52 | #1 |
Пользователь
Регистрация: 27.05.2018
Сообщений: 46
|
Переменную в False при любой ошибке
При помощи десериализации читается xml файл. Все переменные в нем строковые, соответственно что-то может быть null или ""
Далее используется проверка в зависимости от типов переменных Код:
Цикл организовать с выходом не могу, так как переменные разные, типы данных могут быть разные, количество может быть разным... Идей в голову не приходит... |
29.05.2020, 12:40 | #2 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
можно достать все свойства через рефлексию.
И сделать перебор циклом. Для нужных стандартных типов прописать конвертацию. Возможно получится объемно.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
29.05.2020, 16:24 | #3 |
Пользователь
Регистрация: 27.05.2018
Сообщений: 46
|
Нужен какой-то универсальный способ, так как от кода к коду будет меняться список переменных их тип, количество, как это в рефлексию загонять ? вы про чтение самой xml ? меня вполне устраивает сериализация. Задал класс с нужным набором и забыл.
А потом каждый раз переписывать проверки не хочется. Например если сделать переменную в классе релиализации не string а int, то при ее отсутствии мы получим 0, но 0 может быть и актуальным значением а не отсутствием записи. а так сейчас получается в середина false прилетело а в конце true и в итоге оно все как бы true, а надо чтобы было false |
30.05.2020, 17:29 | #4 |
Новичок
Джуниор
Регистрация: 30.05.2020
Сообщений: 2
|
А что если сделать как-то так:
Код:
Но при добавлении/удалении свойств придётся эту штуку править. Во, ещё дичь придумал)) Код:
Hot Keys - мой блог о программировании и не только
Последний раз редактировалось u1035; 30.05.2020 в 17:32. |
30.05.2020, 22:27 | #5 |
Пользователь
Регистрация: 27.05.2018
Сообщений: 46
|
u1035 да, тоже подумал на счет первого варианта, на счет проверки через && спасибо, проверю. А то обдумывал как проверять.
Да не думаю, что изменение всех переменных и добавление новых плюс правка потом одной строки такой ужас. Это в принципе один раз будет писаться под задачу. Так что за идею спасибо. |
01.06.2020, 08:15 | #6 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
А зачем эти извращения??
У вас самописный десериализатор чтоли?? Стандартный класс вроде сразу ошибку выкидывает если не удалось все элементы распознать.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
01.06.2020, 08:33 | #7 |
Пользователь
Регистрация: 27.05.2018
Сообщений: 46
|
WorldMaster еще раз, сериализатор, если нет параметра возвращает null, если это строка и не будет никаких ошибок.
Если параметр int и нет параметра, то вернет 0. Это просто проверка на наличие параметра и правильности ее записи. Тот же DateTime.ToString() Например если параметра нет, либо игнорируем, либо выставляем значение по умолчанию. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Описать процедуру Minmax(X, Y), записывает в переменную X минимальное из значений X и Y, а в переменную Y - максимальное | kinash96 | Помощь студентам | 3 | 12.10.2013 19:49 |
решить задачу, используя любой алгоритм и любой язык программирования | oncheva | Помощь студентам | 0 | 24.12.2012 18:07 |
Интересная задача, реализация временных логик (любой логики), язык любой. | Flyym | Помощь студентам | 1 | 05.01.2011 03:10 |
конвертировать номер из любой базы в любой другую базу | stefan0202 | Фриланс | 6 | 02.03.2010 21:47 |