I need to give a class C, read all user-defined members of it,
both name and value dynamically. for example:
class C {
string a;
string b;
string c;
}
then
Class c = new C();
// set c members...
enum string[] members = [__traits(allMembers, C)];
foreach(string member; members) {
string value = __traits(getMember, c, member);
doSomething(member, value);
}
I get this error:
Error: variable member cannot be read at compile time
Error: string expected as second argument of __traits
`getMember` instead of `__error`
why can't member in foreach(string member; members) be read at
compile time? I've also tried
foreach(enum string member; members)
and
static foreach(string member; members)
but it result a lot of error messages.