orefkov писал(а) 05. Декабря 2009 :: 09:58:Ты правда думаешь, что если я по запарке напишу
а= объект.Сувойство1
вместо
а= объект.Свойство1
, а код будет выполнятся вместо вылета по ошибке "Свойство не найдено" - это будет круто?
* в случае с
произвольным классом - однозначно не скажу.
тут я с тобой согласен.
еще раз обдумав реализованную сейчас логику динамических свойств - даже в чем-то согласен с введенными ограничениями
(не проверял еще наследование , т.к. в
ранней реализации получалось или/или) .
* в
частном случае со
Структурой - в большинстве случаев - (имхо) да.
такое поведение логично, если вернется
EmptyValueесть целый класс практических задач , где такое поведение
допустимо .
сейчас же, возникает ситуация, когда мы
полностью "зажаты" исключением "Свойство не найдено" ; конкретно - в
Структуре. сразу облом-с...
никто не мешает сделать производный "жесткий" класс.
ps: кстати, в тестовой прикрутил
Addon.List .
погонял.
вроде - все нормуль.
но весь феншуй ломается в одной точке - регистрозависимость....
списался с автором - пока нет ответа (работа 2002 года)..
// подожду еще пару-тройку дней. не ответит - в свою компоненту воткну тогда фунцкионал. но это уже нефеншуйно будет.... в итоге, остается открытым вопрос : возможно ли добавить в класс
Структура следующий функционал :
при первой записи в свойство :* проверяем есть ли свойство, если есть - перезаписываем его //
сейчас так и есть* если нет, создаем и записываем //
++при чтении ствойства :* если есть свойство - вернем его значение //
сейчас так и есть* если нет такого свойства - вернем GetEmptyValue() // в терминах 1с //
++ здесь возможен компромиссный вариант - добавление метода , включающего такую логику.
создать производный класс, в конструкторе переводящий
Структуру в такое положение труда не составит.
имхо.
?