私はこれを使用して、クラスが持つすべてのメソッドを収集しています。
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]
コメントを追加