Можно ли как-то присвоить значению флага значение из комбинаций других элементов enum?
Можно ли как-то присвоить значению флага значение из комбинаций других элементов enum?
Что-то в духе такого:
[Flags]
public enum MyTypeObject
{
Unit = Defender | Worker,
Defender,
Worker
}
Ответы (1 шт):
Автор решения: A K
→ Ссылка
Располагайте ваши значения по степеням двойки: 1, 2, 4, 8, 16... и затем используйте выражения в конце определения.
[Flags]
public enum MyTypeObject
{
Defender = 1,
Worker = 2,
Unit = Defender | Worker,
}
По необходимости используйте Enum.HasFlag.
См. также: https://stackoverflow.com/q/19582477/5752652