digitalmars.D.learn - how do I get only static member of a class?
- Marc (6/8) Jan 03 2018 I found no way with __traits() on std.traits. I found
- =?UTF-8?Q?Ali_=c3=87ehreli?= (16/27) Jan 03 2018 class C { static int a, b, c; int d; }
- Marc (2/30) Jan 04 2018 Thanks again, Ali
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)
Jan 03 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; } 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); } Aliclass C { static int a, b, c; int d; }I'd like to get a, b and c. I'm using this:__traits(allMembers, C)
Jan 03 2018
On Thursday, 4 January 2018 at 00:02:24 UTC, Ali Çehreli wrote:On 01/03/2018 03:48 PM, Marc wrote:Thanks again, AliI 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; } 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); } Aliclass C { static int a, b, c; int d; }I'd like to get a, b and c. I'm using this:__traits(allMembers, C)
Jan 04 2018