Я бы этого не делал. И вот почему:
class Program
{
[Flags]
public enum Answer
{
Yes = 1,
No = 2,
Choice1 = 1,
Choice2 = 2,
Choice3 = 4,
Choice4 = 8,
}
static void Main(string[] args)
{
int SomeInt = (int)Answer.Choice1;
Console.WriteLine((Answer)SomeInt);
Console.ReadKey();
}
}
Результат этого
"Да"
Это имеет смысл, и, очевидно, это синтаксически правильно, но вам очень трудно поддерживать такое перечисление. Это будет соответствовать первому правильному значению перечисления. Я считаю, что эту логику можно улучшить, чтобы путаница была ограничена / устранена.
Буду ли я это делать? нет Нет .