【发布时间】:2011-11-20 05:31:19
【问题描述】:
我想迭代 groovy 类的非静态闭包并选择性地替换它们。
我可以通过类似的方式获得 MetaClass
MyClassName.metaClass
从那里我可以获得所有属性,例如
metaClassObject.properties
这是 MetaProperty 对象的列表。
问题是我无法检测到哪些属性是闭包,哪些是简单对象。 MetaProperty 对象的 type 属性在这两种情况下都返回 Object。
关于替换:假设我知道它是一个闭包 A,那么我是否可以创建另一个闭包 B,用一些可选代码包装闭包 A,并在类定义中用 B 替换该闭包 A?应该像某种拦截器一样工作。
【问题讨论】:
标签: groovy