1

ドックレットをいじっていて、次の問題に直面しています。クラスから属性を取得したいのですが、パラメーター メソッドが役立つと思いました。私のコードは次のようになります(メソッドの戻り値の型に対してそうしています):

        ClassDoc retType = pMethod.returnType().asClassDoc();
        if(retType == null) {
            System.out.println("No returnType for method " + pMethod.name());
            return false;
        } else {
            System.out.println("returnType for method " 
+ pMethod.name() + " is from type " + pMethod.returnType().typeName());
            }
            FieldDoc[] fields = retType.fields();
            System.out.println("fields length for type " + 
retType.name() + "  is " + fields.length);

私が得ているのは

メソッド myMethod の returnType は MyMethodResponse 型からのものです

fields length for type MyMethodResponse is 0

多分私は何かが欠けています。ClassDoc.fields() メソッドは属性のすべてのリストを表示してくれませんか? それを行う方法はありますか?どうもありがとうございました。

4

1 に答える 1

2

OK、ウェブで検索しても、多くの説明/例が見つかりませんでした。1 つの Web ページがあります。ドックレットを使用して Java ソース コードからクラス、フィールド、メソッド情報を抽出します。属性を抽出するために、次の方法で ClassDoc.fields() メソッドを使用します。

FieldDoc[] fields=classDoc.fields(false);

デフォルトで有効になっているアクセス修飾子フィルターを無効にしているため、その方法を使用して、必要なすべての属性を取得します。API では、fields メソッドのブール値パラメーターを使用して、javaDoc (-public、-protected、-package、および -private) の呼び出し中に宣言されたアクセス修飾子フィルターを有効/無効にします。したがって、そのクラスからすべての属性を取得したいだけの場合は、false に設定して無効にする必要があります。

于 2012-05-24T12:29:55.247 に答える