Можно ли как-то присвоить значению флага значение из комбинаций других элементов 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

→ Ссылка