Показать сообщение отдельно
Старый 14.02.2017, 12:21   #8  
Avalon is offline
Avalon
Участник
 
11 / 10 (1) +
Регистрация: 28.10.2009
Цитата:
Сообщение от mazzy Посмотреть сообщение
и еще... извините.

это вам только кажется, что вы сделали универсальное решение, которое позволяет работать с любыми строчками.


на самом деле у вас доступны только те значения, для которых есть классы в коде.
если в коде только 3 (три) класса, то другие строчки приведут к ошибке в runtime.

другими словами, вы нисколько не приблизились к универсальности.
зато:
= перевели все ошибки в runtime
= сильно затруднили диагностику ошибок (теперь будет выдаваться ошибка компиляции вместо ошибки "неправильная строка")
= сильно затруднили себе жизнь с runbuf, правами и обвязкой

для таких задач делают семейство классов с construct
в construct передают параметр и явно пишут что он может создавать.
когда добавляется новый класс наследник, программист должен будет расширить construct в базовом классе.

это паттерн, который используется повсеместно во всей аксапте.
поищите в коде примеры
Извините, но вы совсем не поняли что я делаю. construct можно использовать только тогда, когда известны объекты, а у меня объекты меняются, создаются новые. И этот construct у меня генерируется налету, чтобы не утруждать 'пользователей'.