kda*_*bir 6 reflection groovy properties
在下面的代码中,我需要Child类(ie foo, bar)中可用的所有属性.我对groovy添加的所有其他属性不感兴趣.
class Parent {def foo}
class Child extends Parent {def bar}
Run Code Online (Sandbox Code Playgroud)
到目前为止,这些都没有得到结果:
println Child.fields
println Child.properties.each{k,v->println "$k -> $v"}
println Child.declaredFields.findAll { !it.synthetic }.collect {it.name}
println Child.methods.findAll {it.name.startsWith("get")}.collect {it.name}
Run Code Online (Sandbox Code Playgroud)
我试图找出一些能给我这个的直接方法.
检查实例怎么样?另外,我错过extends了Child
class A { def foo }
class B extends A { def bar }
b = new B(foo: 'foo', bar: 'bar')
assert b.properties == [foo: 'foo', class: B, bar: 'bar']
Run Code Online (Sandbox Code Playgroud)