digitalmars.D - attributes
- macky <martin.butina gmail.com> Mar 29 2007
- Bradley Smith <digitalmars-com baysmith.com> Mar 29 2007
- macky <martin.butina gmail.com> Mar 30 2007
Hi all! is there a way to get all attributes and their types in a class at runtime? Comming from the c# world I'm missing something like meta tags [attributes] - 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? Comming from the c# world I'm missing something like meta tags [attributes] - 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? Comming from the c# world I'm missing something like meta tags [attributes] - 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








macky <martin.butina gmail.com>