Как перечислить имена и типы внутри структуры или класса во время компиляции?
, т. Е. Сделать следующее:
struct Foo { int x; int y; } string serialise!(A)(A a) { ...magic... } auto f = Foo(1,2); serialise(f); -> "x:1, y:2"
Спасибо,
Крис.
Как это:
foreach (index, field; myStruct.tupleof) { // field.stringof is "field", slice is to cut off "myStruct." pragma(msg, "Name: " ~ myStruct.tupleof[index].stringof[9..$]); pragma(msg, "Type: " ~ typeof(field).stringof); }
Практический пример: https://github.com/CyberShadow/ae/blob/master/utils/json.d#L107