Daniel Keep schrieb:
Another possible hack: if used from a
different module, you could use the 'compiles' trait with allMembers
to find out if a member can be accessed.
you could define a template in another module that does the check and
returns the result.
Well, it'd indeed be used from a different module than class, in fact
from a different package.
But this only gives the public members, right?
It depends on what exactly you're trying to do. Some time ago, I wrote
a library that created XML loaders for structs, and it needed to know
the names of fields. Pre-traits, this is what I used:
struct Stuff
{
int foo;
char[] bar;
alias Tuple!("foo", "bar") _fields;
}
Then I just looped over _fields.
What I want is a way that doesn't require much changes to the class
itself but rather does the work in the module that actually uses the
method names.
What I'm trying to do is providing a mechanism for LuaLib to register a
whole class automatically (and probably also checking all method's
parameters for correctness). So far you have to register each method to
be used in lua individually.
So I was initially thinking about registering all protected methods or
something like that. Guess I will use the prefix solution here cause it
probably is the best way for this particular problem anyway.
But yet I'm interested in (and also somewhat impressed by) the
possibilities to do this ;)
(reminds me of my search for a way to debug template and mixin stuff)