次の Groovy クラスがあるとします。
class MyClass {
def someClosure = {}
def someClosure2 = {}
private privateClosure = {
}
def someVal = 'sfsdf'
String someMethod() {}
}
クロージャーが割り当てられているすべてのパブリック プロパティの名前を取得する方法が必要なので、このクラスの正しい結果は['someClosure', 'someClosure2']
.
対象のすべてのクラスにはデフォルトのコンストラクターがあると想定できるため、それが簡単になる場合は、次の方法でインスタンスからプロパティを取得できます。
def instance = MyClass.newInstance()