5

D 是否提供了某种方式来反映枚举的值,例如e,通常迭代其每个值,有点类似于.tupleof结构和类。我想我们总能做到

foreach (val; e.min..e.max)

但是非连续枚举呢?枚举包含最大值,但范围不包含。

更新:我刚刚发现:http ://dlang.org/phobos/std_traits.html#.EnumMembers

我相信这就是我们所需要的,对吗?

4

1 回答 1

8

std.traits.EnumMembers可以,也可以__traits(allMembers,YourEnum)

foreach(value, name; EnumMembers!YourEnum) { }听起来像你想要的。

于 2013-11-05T23:12:05.453 回答