how do I get only static member of a class?
Marc
jckj33 at gmail.com
Thu Jan 4 19:33:21 UTC 2018
On Thursday, 4 January 2018 at 00:02:24 UTC, Ali Çehreli wrote:
> 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
Thanks again, Ali
More information about the Digitalmars-d-learn
mailing list