On Fri, Dec 22, 2017 at 09:13:31PM +0000, kerdemdemir via Digitalmars-d-learn 
wrote:
> I want to make a logging function for member variables by using reflection.
[...]
> class B
> {
>     void Log()
>     {
>         auto a = [__traits(derivedMembers, D)];
>         foreach(memberName; a) {
>             // Somehow write only member variables with their names
>             // Result should be : a = 4.0, b = 3.0

Try this:

        import std.traits : FieldNameTuple;
        foreach (memberName; FieldNameTuple!B) {
                writefln("%s = %s", memberName, mixin("this." ~ memberName));
        }


T

-- 
People walk. Computers run.

Reply via email to