> Ahojte,
>
> On Nov 26, 2007 3:13 PM, Podlesak Kamil
> <[EMAIL PROTECTED]> wrote:
> >
> > Zajímavé, abstraktní metody musí fungovat... jak tu
> instanci Method získáváte?
>
> abstraktni metody fungovat nemusi. Problem je v tom, ze jednotlive
> prvky jsou v enumu reprezentovany anonymnimi tridami - tzn. maji
> nastaveny default access (package protected).
Jiste, to je to co jsem psal (resp. minil).
A prave proto jsem navrhoval verejne abstaktni metody (public abstract) primo
v samotnem enumu (tj. ve verejnem predkovi tech anonymnich metod). Ty pak
samozrejme lze volat odkudkoliv, protoze deklarace je verejna (public) ve
verejne tride (public). Minimalne to nevadi kompilatoru, s reflexi jsem si,
priznavam, moc nehral.
> V pripade, ze by se volal nasledujici kod v package, ve kterem je
> deklarace enumu, pak by to fungovalo.
> instance.getClass().getMethod("getNeco",null).invoke(instance,null);
> Pro pristup do jinych packagu se musi pouzit setAccessible(true);
Ano, to je samorejme take mozne. Ale mne osobne se nelibi uz samotna koncepce
metod definovanych (vsude stejne) pouze v anonymnich tridach a nikoliv v
predkovi. Tyto vymozenosti bych prenechal Smalltalku, tam jsou na to vybaveni
:-)
> > Kamil Podlešák
> -- pepa cacek
Kamil Podlesak
--
[EMAIL PROTECTED]