是否可以使用 D 的内置特征和/或 std.traits 来检测函数(在类/结构内或没有)是否用 @property 注释?我知道@property 并不是一个真正的属性,但我认为__traits(getAttributes, ...)
可能会这样做(没有这样的运气)。
问问题
109 次
1 回答
4
一般来说,我认为最好只测试你想要使用的表达式编译(例如is(typeof(var.prop))
),但如果由于某种原因你真的需要知道一个函数被标记为@property
,那么你可以使用std.traits .functionAttributes来获取该信息。就像是
enum isProperty = (functionAttributes!(MyType.prop) & FunctionAttribute.property) != 0;
应该管用。
于 2013-06-24T16:07:43.213 回答