namespace Core.Common.Controls { /// /// Command pattern implementation. /// public interface ICommand { /// /// Commands can be disabled if they cannot be executed. /// bool Enabled { get; } /// /// Commands can checked if they represent a (boolean) state. /// HACK: command can't be checked, button associated with command can be checked! Find a better design. /// bool Checked { set; get; } /// /// Execute a Command with the supplied arguments. /// /// Arguments used in executing the Command. void Execute(params object[] arguments); } }