Grails [Groovy]、継承されたメソッドなしでクラスが持つすべてのメソッドのリストを取得するにはどうすればよいですか?

t31321

私はこれを使用して、クラスが持つすべてのメソッドを収集しています。

grailsApplication.getMainContext()。getBean( "className")。metaClass.methods * .name

しかし、これは継承されたものを含むすべてのメソッド返しますクラスが所有するメソッドのみをフィルタリングするにどうすればよいですか?

デュランダル

これにより、宣言クラス(SomeClassこの例では)のみに属するメソッドのみを含むようにフィルター処理されたメソッド名のリストが表示されます

SomeClass sc = new SomeClass()
List<String> declaringClassOnlyMethods = sc.metaClass.methods.findAll { MetaMethod method ->
    if(method.declaringClass.name == sc.class.name) {
        method.name
    }
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ