2016-10-15 20 views
0

Ich versuche, eine private Methode von Gosu Scratchpad mit invoke() -Methode aufrufen.Aber ich kann nicht auf diese private Methode zugreifen. Kann jemand mir sagen, der beste Weg, um private Methoden aufzurufen in GOSU Language.Here der CodeSo rufen Sie private Methode in Gosu

try{ 
    var clazz = java.lang.Class.forName(ClaimSearchCriteriaImpl) 
    var method = clazz.getDeclaredMethod("generateSimpleActiveClaimViewQuery", null) 
     method.setAccessible(true) 
    var ss = method.invoke(clazz, null)as ClaimSearchCriteriaImpl 
     print("Result.."+ss) 
} catch(exception){ 
     print("***********"+exception) 
} 

Wenn ich versuche, diesen Code auszuführen, ich erhalte die folgende Ausnahme

java.lang.IllegalAccessException: Class program_.__Program__505 can not access a member of class com.guidewire.cc.domain.claim.impl.ClaimSearchCriteriaImpl with modifiers "private" 
    at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:105) 
    at java.lang.reflect.AccessibleObject.slowCheckMemberAccess(AccessibleObject.java:261) 
    at java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:253) 
    at java.lang.reflect.Method.invoke(Method.java:599) 
    at program_.__Program__505.evaluate(Unknown Source) 
    at gw.internal.gosu.parser.GosuProgram.runProgram(GosuProgram.java:421) 
    at gw.internal.gosu.parser.GosuProgram.evaluate(GosuProgram.java:253) 
    at gw.internal.gosu.parser.GosuProgram_Proxy.evaluate(gw.internal.gosu.parser.GosuProgram_Proxy:2) 
    at gw.internal.gosu.parser.ExecutionEnvironment$1.evaluate(ExecutionEnvironment.java:543) 
    at gw.internal.gosu.parser.ExecutionEnvironment$1.runScript(ExecutionEnvironment.java:523) 
    at gw.internal.gosu.parser.ExecutionEnvironment$1.run(ExecutionEnvironment.java:489) 
    at java.lang.Thread.run(Thread.java:724) 
+0

Ist nicht der ganze Punkt des Schlüsselwortes 'private', um andere Klassen oder Objekte daran zu hindern, Methoden mit diesem Modifizierer zu verwenden? Dies scheint mir, dass die Anwendung wie vorgesehen funktioniert. – Waterbagel

+0

hast du das herausgefunden? – dawogfather

Antwort

-1

** Probieren Sie diesen Code aus.

Verwandte Themen