introspection woes (2)
Johannes Pfau
spam at example.com
Mon Jun 13 05:00:30 PDT 2011
Lloyd Dupont wrote:
>trying to learn introspection, I have this simple test method:
>
>===================
>static void dumpelement(Object o)
>{
> if (!o)
> return;
>
> auto ci = o.classinfo;
> foreach(mi ; ci.getMembers(null))
> {
> writefln("%s . %s", ci.name, mi.name());
> }
>}
>==================
>
>However it fails to compile with the following error: (any ideas?)
>=======
>main.d(57): Error: function object.MemberInfo.name () is not callable
>using argument types () const
>Building Debug\dtest.exe failed!
>
Looks like getMembers() returns 'const MemberInfo' but name() is not
declared as const. That's likely a bug in druntime, but as a workaround
you can try this:
==================
writefln("%s . %s", ci.name, (cast(MemberInfo)mi).name());
==================
--
Johannes Pfau
More information about the Digitalmars-d-learn
mailing list