17.07.2013, 11:12 | #1 |
Участник
|
Достучаться до метода класса из callStack
Здравствуйте.
DAX 2009 SQL Возможно callStack тут не понадобится, упомянул его для наглядности. Задача следующая, необходимо обработать некое событие в текущем классе, а параметр для обработки находится в классе, который был вызван ранее, причем не прибегать к передаче параметра через args (он не определен). пример callstack: \Classes\calcValues\run ..... \Classes\setParameters\run \Classes\setParameters\main Здесь в классе setParameters в переменной "zeroP" установлен некий параметр "Обнулить" (setParameters.getZeroP() ) через цепочку вызовов различных классов вызывается класс calcValues, в котором необходимо учитывать этот параметр setParameters.getZeroP(). ВОПРОС)) как мне создать экземпляр класса setParameters (или обратиться к нему)с уже установленными в нем всеми параметрами и его методами(конкретно setParameters.getZeroP() ) из класса calcValues. При этом не внося изменения в остальные классы(ну за исключением класса calcValues ) если это возможно. PS При запуске дебагера, щелкая по всем классам в callStack, могу в окне "variables" смотреть значения, хранящиеся в классах, наверняка можно подобным образом программно достучаться до вызывающих классов. Спасибо. |
|
17.07.2013, 12:15 | #2 |
Участник
|
Программно теоретически можно, если среверсинжинирить виртуальную машин X++ (см тут) и написать dll которая будет коллестек интерпретировать в нужной форме.
Практически, это очень плохая идея, если речь не идет о какой-нибудь чисто девелоперской трейсовой туле. Т.к. вносит между классами неявные неконтроллируемые зависимости. В качесте альтернативы можно, кроме явной передачи конкретного параметра, предусмотреть запизиваения праметра отдельный класс параметров и передачи его между классами. Так можно будет расширять набор параметров, не трогая промежуточных классов. Еще можно завести глобальную переменную, но я бы не рекомендовал Последний раз редактировалось belugin; 17.07.2013 в 12:18. |
|
|
За это сообщение автора поблагодарили: VAlek22 (1). |
|
Похожие темы | ||||
Тема | Ответов | |||
Функция внутри метода класса | 8 | |||
Имя метода класса в переменной. | 6 | |||
Из метода узнать наименование класса-родителя | 4 | |||
Вызов метода базового класса | 15 | |||
"Программный" вызов метода класса!? | 13 |
|