how do I get only static member of a class?
Ali Çehreli
acehreli at yahoo.com
Thu Jan 4 00:02:24 UTC 2018
On 01/03/2018 03:48 PM, Marc wrote:
> I found no way with __traits() on std.traits. I found isStaticFunction
> and isStaticArray but nothing about a member. Is this by desgin?
>
> Give a class like:
>
>> class C { static int a, b, c; int d; }
>
> I'd like to get a, b and c.
>
> I'm using this:
>> __traits(allMembers, C)
class C { static int a, b, c; int d; }
string[] staticMembers(T)() {
string[] statics;
foreach (m; __traits(derivedMembers, T)) {
import std.traits : hasStaticMember;
static if (hasStaticMember!(T, m)) {
statics ~= m;
}
}
return statics;
}
void main() {
pragma(msg, staticMembers!C);
}
Ali
More information about the Digitalmars-d-learn
mailing list