В D я пытаюсь создать перечисление, члены которого имеют членов. Я могу лучше объяснить, что я пытаюсь сделать с примером, где s
и i
стоять в течение суб-членов я пытаюсь создать:enum constructors (создание членов группы)
В Python, я могу это сделать:
class Foo(enum.Enum):
A = "A string", 0
B = "B string", 1
C = "C string", 2
def __init__(self, s, i):
self.s = s
self.i = i
print(Foo.A.s)
Java может сделать что-то вроде этого:
public enum Foo {
A("A string", 0),
B("B string", 1),
C("C string", 2);
private final String s;
private final int i;
Foo(String s, int i) {
this.s = s;
this.i =i;
}
}
Как это сделать в D? Я ничего не вижу в официальном учебнике. Если по какой-то причине я не могу сделать это в D, какая хорошая альтернатива?