digitalmars.D - attributes
- macky (2/2) Mar 29 2007 Hi all!
- Bradley Smith (22/25) Mar 29 2007 Perhaps something like this:
- macky (2/34) Mar 30 2007
Hi all! is there a way to get all attributes and their types in a class at runtime? something like reflection. I wonder how this issue can be solved in d?
Mar 29 2007
macky wrote:Hi all! is there a way to get all attributes and their types in a class at runtime? something like reflection. I wonder how this issue can be solved in d?Perhaps something like this: import std.stdio; class A { int a; float b; C c; } class C { int i; } void main() { A a = new A; foreach (i, attrib; a.tupleof) { writefln("attribute ", i, " is of type ", typeid(typeof(attrib)), " and value ", attrib); } } Output: attribute 0 is of type int and value 0 attribute 1 is of type float and value nan attribute 2 is of type attribList.C and value null
Mar 29 2007
Thanx, this seems like a nice solution. I will look into it! Bradley Smith Wrote:macky wrote:Hi all! is there a way to get all attributes and their types in a class at runtime? something like reflection. I wonder how this issue can be solved in d?Perhaps something like this: import std.stdio; class A { int a; float b; C c; } class C { int i; } void main() { A a = new A; foreach (i, attrib; a.tupleof) { writefln("attribute ", i, " is of type ", typeid(typeof(attrib)), " and value ", attrib); } } Output: attribute 0 is of type int and value 0 attribute 1 is of type float and value nan attribute 2 is of type attribList.C and value null
Mar 30 2007