Dynamically setting struct values from hash map
Andrew Chapman via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Thu May 12 13:52:46 PDT 2016
Hi guys, apologies for the silly question, but I come from the
world of dynamic languages and I'm wondering if it's possible to
set struct values basic on dynamic variables?
e.g.
struct Person {
string firstName;
string lastName;
}
void main() {
string[string] map;
map["firstName"] = "Homer";
map["lastName"] = "Simpson";
}
Is it possible to iterate through the hash map and set the struct
values using the key/value pairs?
Something like this:
e.g.
Person p1;
foreach(key,val; map) {
p1[key] = val;
}
The problem I'm trying to solve is that I'm wanting to write a
generic "model" class that can read a record from a database and
populate a known struct from the database values. I have seen
the "allMembers" method from the traits module that can give me
the names of the struct fields, but I am unsure if it's even
possible to set the struct values using variable/dynamic names.
Any help will be greatly appreciated!
Cheers,
Andrew.
More information about the Digitalmars-d-learn
mailing list