09. juni 2006 - 13:43Der er
28 kommentarer og 1 løsning
Signature for alle metoder i en klasse
Hej derude.
Jeg sidder og roder med noget javaprogrammering og vil lave en funktion som kan finde signaturerne for alle metoder i en bestemt klasse, som bliver indlæst fra en tekstfil.
I et inbound callcenter, hvor identiteten på den, der ringer ind, skal bekræftes, kan kontrollen nu foregå i telefonkøen. Det understøtter fem centrale KPI'er for callcentre.
Selve problemmet ligger i at jeg har en tekst fil: txt, java eller lign. som jeg skal kunne læse fra. Programmet skal i denne random fil, som jeg bestemmer, kunne finde metoderne og dets navn, parameter osv.
1) du bruger mikkelbm's metode på din class 2) du bruger en java parser på din source fil (ikke helt trivielt) 3) du compiler din source fil og bruger #1
Når jeg sætter selve koden ind får jeg følgende vejl ved "for (Method method : methods)": 'Syntax error, 'for each' statements are only available if source level is 5.0'.
Kender du noget til denne fejl eller ved hvordan jeg kan komme uden om denne ?
har lige et spørgsmål til; Ved method metoden, er det her muligt at få parameterne ud?
F.eks via method.getParameterTypes() ??? '[Ljava.lang.Class;@1f6a7b9' dette skriver den hvis jeg bruger den metode, og det ikke lige det jeg vil have returneret
Jeg kan ikke svare på hvor du skal sætte det ind henne. Der hvor du har brug for det! :)
"F.eks via method.getParameterTypes() ??? '[Ljava.lang.Class;@1f6a7b9' dette skriver den hvis jeg bruger den metode, og det ikke lige det jeg vil have returneret"
Skriver den? Hvad er den? Det er svært at hjælpe, når du ikke poster det du har lavet.
Jeg har sat " Class[] parms = method.getParameterTypes(); for (Class cls : parms) System.out.println (cls.getName()); " ind i din kode længere oppe for at få udskrevet parameterne i metoden.
Her får jeg dog en fejl; "Method cannot be result as a type". Ligeledes siger den at "cls" er dublicated.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.