Я динамически запускаю groovy-скрипты из scala. И есть несколько экземпляров какого-то класса, переданного в groovy-скрипты через setProperty(). Например, предположим, что у вас есть класс с именем TestA, а класс TestB наследует класс TestA. И вы передаете экземпляр класса B в отличный скрипт, подобный этому
setProperty("testB", testB) // testB is an instance of class TestB
и запустив отличный скрипт, я могу получить доступ к переменным, объявленным в TestB. но когда я пытаюсь получить доступ к переменным TestA, который является суперклассом TestB, groovy выдает сообщение об ошибке «Нет такого свойства для класса».
Я все еще могу вызывать методы TestA и TestB из данного экземпляра. Поэтому, если вы просто напишете сеттер и геттер, я смогу получить доступ к переменным TestA, но я не хочу этого делать.
Есть ли способ получить доступ к переменным TestA без использования сеттера/геттера? например, использовать Expando или что-то в этом роде?