الحصول على نوع الحقل في طريقة في Eclipse
-
30-09-2019 - |
سؤال
كيف يمكنني الحصول على نوع الحقل برمجيًا من عبارة داخل طريقة مثل هذه:
Foo foo = getSomeFoo();
إذا كان الحقل ، يمكنني معرفة نوع العنصر.
المحلول
تحتاج إلى استخدام AST Eclipse
ICompilationUnit icu = ...
ASTParser parser = ASTParser.newParser(AST.JLS3);
parser.setResolveBindings(true);
parser.setSource(icu);
CompilationUnit cu = (CompilationUnit) parser.createAST(null);
cu.accept(new ASTVisitor() {
@Override
public boolean visit(VariableDeclarationStatement node) {
System.out.println("node=" + node);
System.out.println("node.getType()=" + node.getType());
return true;
}
});
نصائح أخرى
يمكنك الحصول على فصل foo
كائن عن طريق الاتصال foo.getClass()
.
إذا كان لديك فئة (أو كائن) وترغب في الحصول على نوع الإرجاع برمجيًا لطريقة معينة في تلك الفئة ، جرب هذا:
- احصل على ال
Class
كائن للفئة/الكائن - اتصل ب
getMethod()
الطريقة والحصول على كائن الطريقة مرة أخرى - اتصل ب
getReturnType()
الطريقة على كائن الطريقة
لا تنتمي إلى StackOverflow