Выполняет побитовые операции и использует результат в качестве возвращаемого значения.Кнопки - это перечисление, к которому применен FlagsAttribute и которое выглядит примерно так:
[Flags]
public enum Buttons
{
New = 1,
Return = 2,
Delete = 4
}
Использование возвращаемого значения из вашего метода GetButtonsToShow () будет выглядеть примерно так::
private void DisplayButtons()
{
var buttons = GetButtonsToShow(); // int value is 7, 1 + 2 + 4
if ((buttons & Buttons.New) == Buttons.New) // if 7 (111) and 1 (001) equals 1
{
buttonNew.Visible = true;
}
// above is for clarity, most likely all buttons visibility is set as:
// buttonX.Visible = (buttons & Buttons.X) == Buttons.X;
}