Рефакторинг enum
[Flags]
public enum FormButtonType
{
OK,
Cancel,
Print,
}
class...
private void SetupFooterButtons()
{
...
FormButtonsAttribute buttonsAttribute = DomainObjectHelper.GetDefinedAttribute<FormButtonsAttribute>(GetType());
foreach (FormButtonType button in formButtons.Keys)
{
bool buttonDefinedOnForm = ((buttonsAttribute.Buttons & button)
== button);
formButtons[button].Visible = buttonDefinedOnForm;
}
...
}
Попробуйте подумать, как рефакторинг посмотрит на этот код :)