Фон
Этот вопрос относится к новой Cirrus инфраструктуре для аспектно-ориентированного программирования в Delphi Prism.
В настоящее время у меня есть аспект, который я автоматически внедряю в класс, и пытаюсь изменить целевой код с помощью функции aMethod.SetBody . До сих пор я структурировал свой код, используя пример кода Logging, который можно найти в вики Cirrus Введение документации в качестве основы.
Вопрос
Как получить доступ к Результату функции, в которую вводится, как с выполнением исходного тела функции, так и без него?
Я хотел бы иметь возможность установить результат функции, обходящей вызов OriginalBody в одном пути кода и в качестве другого пути кода, для вызова OriginalBody и использования последующего результата OriginalBody в моем коде Aspect.
Первоначально я думал, что это может быть предназначением метода Aspect.RequireResult , но в моем случае это вызывает принудительное выполнение OriginalBody, вызывая дублирование кода.