Я хотел бы получить имена и значения типа enum
в D2. Я знаю, что могу получить значения enum, используя std.traits, но как насчет имен?
Дано:
enum lst
{
apple,
bottle,
orange,
blue
}
Я хотел бы получить ассоциативный массив, например.
string lstmap[int] = [1:"apple", 2:"bottle", 3:"orange", 4:"blue"].
Ответ - да. Решение, как мне показывали, таково:
foreach (i, member; __traits(allMembers, lst)) {
lstmap[cast(int) __traits(getMember, lst, member)] = member;
}