【发布时间】:2013-06-24 02:16:16
【问题描述】:
是否可以使用 D 的内置特征和/或 std.traits 来检测函数(在类/结构中或没有)是否用 @property 注释?我知道@property 真的不是一个属性,但我认为__traits(getAttributes, ...) 可能会这样做(没有这样的运气)。
【问题讨论】:
-
为什么需要它?如有疑问 - 使用括号!
-
你甚至可以在不带括号的情况下调用没有
@property的函数,所以我认为没有实际需要。 -
我正在尝试编写一个模板函数,为任意类生成一个“构建器”类。在我的项目中,我一直将@property 严格用作setter/getter,因此我的想法是从使用property 属性注释的类中获取所有函数,然后生成构建器方法。
-
在这种情况下 std.traits.functionAttributes 不起作用吗?