Предполагая, что у меня есть категория перечислимую с некоторыми значениями:C#, имеющие Перечисления из Перечисления
enum Category {
ProgrammingBooks
CookingBooks
}
и я хочу каждое перечисление, чтобы иметь свое собственное перечисление, например: ProgrammingBooks проведет:
enum ProgrammingBooks {
CSharp,
Java,
Cpp
}
я увидел решение предлагает это:
enum Fauna {
enum Type { MAMMAL, BIRD }
TIGER(Type.MAMMAL),
LION(Type.MAMMAL),
PEACOCK(Type.BIRD),
OWL(Type.BIRD);
private final Type type;
Fauna(Type type) { this.type = type; }
}
с использованием:
Stream.of(Fauna.values()).filter(f -> f.type == BIRD).toList()
Однако я всего лишь новичок, и я ищу что-то, что, даже если я не знаю и не должен учиться, не стану хардкором на меня. Я не понимаю пример, который я упомянул (который я нашел в StackOverFlow).
Выглядит больше как Java, чем C#. –
Вы действительно должны создавать классы, если ваши перечисления нуждаются в собственных перечислениях. В противном случае вы растягиваете цель перечислений. –
Для справки, https://stackoverflow.com/questions/20605628/iterating-enum-of-enums, похоже, откуда этот пример; и, как говорит @UweKeim, это Java. –