d允许返回别名

原文
添加允许返回别名符号(如"__traits(allMembers)"),但为了降低反射代码成本,并理解过程,允许过滤指定属性特征.
建议:

__traits(getMembers, symbolOrModuleName, filters)
__traits(getMembersRecursive, symbolsOrModuleName, filters)

两者间区别在:是否嵌套,(搜索).
过滤的形式为:

struct | union | class | fields | function | import

最好,是个式,这样可像用定属一样.但不是必需的,一次只需要提供一个选项.
常见用例包括,注册:Web路由,ORM模型,CLI处理例程等.
要添加isStatic特征以关闭,

对内省构或类,拥有std.traits.FieldsFieldNameTuple很好,但一些新的会非常方便:
1)列举所有静态或非静态成员函数模板
2)列举静态字段模板
3)列举嵌套类型的模板
4)可同std.meta模板一起使用,来根据保护级别过滤的模板

posted @ 2022-12-15 19:31  zjh6  阅读(16)  评论(0)    收藏  举报  来源