![]() |
#11 |
Участник
|
Цитата:
info.add - это вызов метода класса через глобальную переменную infolog. в аксапте есть три общеизвестных глобальных предопределенных переменных - infolog, session, appl. ты точно хочешь продолжать защищать технологию атрибутов именно на этом примере? если хочешь продолжать, то обрати внимание, что метод info.add по идее должен был бы быть protected + нужно было бы объявлять friend классы (error, warning, info) для доступа к add. но в аксапте нет friend. Поэтому используется соглашение, что разработчики НЕ вызывают info.add, а должны пользоваться статическими методами Global::error, Global::warning, Global::info. Поэтому приведенный тобой пример предельно НЕ типичен для обычной работы обычных людей... Макс, я повторю вопрос - ты точно настаиваешь на этом примере в качестве обоснования технологи атрибутов? ===================== А бон тон очень просто - класс, у которого есть статический метод main с арзументом Agrs. для такого класса должен быть создан menuItem. вызвать класс через стандартную конструкцию new MenuFunction(menuitemDisplayStr(myMenuItem), MenuItemType::Display).run(args) К сожалению, среди разработчиков МС не принято беспокоится о правах доступа, поэтому часто вызывают класс напрямую через конструктор + run. Этот способ не назвать бон тоном, но по факту игнорировать этот способ нельзя - нужно думать о нем и поддерживать его тоже. Цитата:
Ты же сам сказал, что это "просто проставить атрибуты" Цитата:
Цитата:
Обрати внимание, что во всех статьях на эту тему рассматривается плоское одноуровневое наследование, а я спрашиваю про иерархию классов. Людям тоже придется иметь дело с иерахиями - их много в стандартной аксапте, их много в кастомизациях. Я думаю, что все уже давно увидели эту разницу и с нетерпением ждут ответа. Уверен, что ты легко приведешь изящный способ. Также обрати внимание, что ты отвечаешь про конструкторы. людям же нужно добавить функциональность, которую могут использовать пользователи. Нет, Макс, это не одно и то же. Нет, участники, это не придирка с словам и правописанию. Итак, формулировка: Цитата:
Сообщение от mazzy
![]() Просто продемонстрируйте проектик с добавленной функциональностью, которую могут использовать пользователи со специальными правами,
в которой используется мощнейшая технология атрибутов и SysExtensionAppClassFactory::getClassFromSysAttribute. Ведь это ж "просто пометить атрибутом". Последний раз редактировалось mazzy; 31.05.2017 в 11:28. |
|
Теги |
sysextension framework, sysoperation framework, как правильно, полезное |
|
|