给出以下Groovy类:
class MyClass {
def someClosure = {}
def someClosure2 = {}
private privateClosure = {
}
def someVal = 'sfsdf'
String someMethod() {}
}
我需要一种方法来检索已分配给它们的闭包的所有公共属性的名称,因此该类的正确结果将是 ['someClosure', 'someClosure2']
.
我可以假设所有感兴趣的类都有一个默认的构造函数,所以如果它使事情变得更容易,我可以通过实例检索属性
def instance = MyClass.newInstance()
1 回答
您只需检查每个groovy属性的值:
私有字段不被视为常规属性,因此它们不会包含在结果中 .