Avatar billede yard Nybegynder
26. maj 2001 - 20:01 Der er 7 kommentarer og
2 løsninger

Introspection

Jeg har hørt at du skulle give mulighed for at
\'inspicere\' private member\'ers, Er der nogen
der ved hvad det er, hvordan det virker?
Avatar billede faceorbit Nybegynder
26. maj 2001 - 20:29 #1
En ganske kort beskrivelse og et eksempel:

http://patriot.net/~tvalesky/introspect.html
Avatar billede lbhansen Nybegynder
26. maj 2001 - 20:30 #2
Ved at læse API dokumentationen til java.lang.Class og klasserne i java.lang.reflect kan man komme rimelig hurtigt igang.
Avatar billede faceorbit Nybegynder
26. maj 2001 - 20:35 #3
Avatar billede bearhugx Nybegynder
27. maj 2001 - 13:49 #4
Yes.. men inden man får _helt_ reflection i øjnene (som vi kalder det i min omgangskreds :-), skal man lige holde sig for øje, at man ikke kan inspicere _værdien_ af et private member ...

Man kan via metoderne på Class
  getDeclaredMethods()
  getDeclaredConstructors()
  getDeclaredFields()

få mange informationer omkring klassens struktur.... Men man skal forbi en SecurityManager for at kunne inspicere private værdier Runtime....

Den kode, som er linket fra http://patriot.net/~tvalesky/introspect.html, opdager også kun metoder, konstruktører og variabler, hvis de er erklæret _public_

/Søren Munk Skrøder
Avatar billede yard Nybegynder
28. maj 2001 - 13:56 #5
Kan man komme forbi den SecurityManager?
Avatar billede bearhugx Nybegynder
28. maj 2001 - 17:48 #6
Nej - Det er kun, hvis den, for processen, man vil monitore, er slået fra - Den er på, pr. default, så programmøren skal bevidst slå den fra (...hvilket ikke sker, medmindre programmøren VIRKELIGT ønsker det...)....

Det er ikke et område, jeg har arbejdet særligt meget med (altså at omgå en security Manager :-)

Må man spørge om, hvad det er, der skal laves....

/Søren Munk Skrøder
Avatar billede yard Nybegynder
30. maj 2001 - 17:56 #7
Der skal laves noget automatiseret test af
et framework, og det ville være meget smart
hvis jeg kunne få adgang til nogle af de
private members,

Så hvis jeg kan finde ud af hvad det er jeg
skal slå fra, og hvordan jeg så kan kigge,
ville det være fint.
Avatar billede bearhugx Nybegynder
30. maj 2001 - 18:55 #8
Yard ... et ord ... JUnit (www.junit..org) ... det er et af de bedste automatiserede test-frameworks, der findes...

Du bliver dog nød til at skrive dine test-cases selv ....
Men du kan også se koden, til hvordan de gør det (Så hut jeg visker....)

/Søren Munk Skrøder
Avatar billede yard Nybegynder
11. juni 2001 - 12:17 #9
OK ikke helt svar på mit spøgrsmål, men et par
stray pointers er vel også lidt værd
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester