Сообщение от
mazzy
и еще... извините.
это вам только кажется, что вы сделали универсальное решение, которое позволяет работать с любыми строчками.
на самом деле у вас доступны только те значения, для которых есть классы в коде.
если в коде только 3 (три) класса, то другие строчки приведут к ошибке в runtime.
другими словами, вы нисколько не приблизились к универсальности.
зато:
= перевели все ошибки в runtime
= сильно затруднили диагностику ошибок (теперь будет выдаваться ошибка компиляции вместо ошибки "неправильная строка")
= сильно затруднили себе жизнь с runbuf, правами и обвязкой
для таких задач делают семейство классов с construct
в construct передают параметр и явно пишут что он может создавать.
когда добавляется новый класс наследник, программист должен будет расширить construct в базовом классе.
это паттерн, который используется повсеместно во всей аксапте.
поищите в коде примеры