【发布时间】:2012-03-12 13:03:25
【问题描述】:
我正在从 scala 动态运行 groovy 脚本。还有一些类的一些实例通过 setProperty() 传递给 groovy 脚本。例如,假设您有一个名为 TestA 的类,而类 TestB 继承了类 TestA。而且您正在将 B 类的实例传递给像这样的 groovy 脚本
setProperty("testB", testB) // testB is an instance of class TestB
并运行 groovy 脚本,我可以访问在 TestB 中声明的变量。但是当我尝试访问 TestA 的变量时,它是 TestB 的超类,groovy 给出了一个错误,说“类没有这样的属性”。
我仍然可以从给定实例调用 TestA 和 TestB 的方法。所以如果你只写setter和getter,我可以访问TestA的变量,但我不想这样做。
是否可以在不使用 setter/getter 的情况下访问 TestA 的变量?喜欢用 Expando 什么的?
【问题讨论】:
标签: scala groovy scope groovyshell