d允许返回别名
原文
添加允许返回别名符号(如"__traits(allMembers)"),但为了降低反射代码成本,并理解过程,允许过滤指定属性的特征.
建议:
__traits(getMembers, symbolOrModuleName, filters)
__traits(getMembersRecursive, symbolsOrModuleName, filters)
两者间区别在:是否嵌套,(浅与深搜索).
过滤的形式为:
struct | union | class | fields | function | import
最好,是个式,这样可像用定属一样或和并.但不是必需的,一次只需要提供一个选项.
常见用例包括,注册:Web路由,ORM模型,CLI处理例程等.
要添加isStatic特征以关闭,见
对内省构或类,拥有std.traits.Fields和FieldNameTuple很好,但一些新的会非常方便:
1)列举所有静态或非静态成员函数模板
2)列举静态字段模板
3)列举嵌套类型的模板
4)可同std.meta模板一起使用,来根据保护级别过滤的模板
浙公网安备 33010602011771号