d-如何检测函数是否使用@property进行了注释



是否可以使用D的内置特征和/或std.traits来检测函数(在类/结构中或不在类/构造中)是否用@property注释?我知道@property并不是一个真正的属性,但我认为__traits(getAttributes, ...)可能会做到(运气不好)。

通常,我认为最好只测试要使用的表达式是否编译(例如is(typeof(var.prop))),但如果出于某种原因,您确实需要知道函数标记有@property,那么您可以使用std.traits.functionAttributes来获取该信息。类似的东西

enum isProperty = (functionAttributes!(MyType.prop) & FunctionAttribute.property) != 0;

应该起作用。

相关内容

  • 没有找到相关文章

最新更新