/// <summary>
        /// Creates an in instance of the Command class.
        /// </summary>
        /// <param name="executeDelegate">Delegate that is called when command is invoked.</param>
        /// <param name="canExecuteDelegate">Delegate that determines whether the command can execute in its current state.</param>
        public DelegateCommand(ExecuteDelegateWithNoParameter executeDelegate, CanExecuteDelegateWithNoParameter canExecuteDelegate)
        {
            // preconditions

            Argument.IsNotNull("executeDelegate", executeDelegate);

            // implementation

            this.executeWithNoParameter = executeDelegate;
            this.canExecuteWithNoParameter = canExecuteDelegate;
            this.executeWithParameter = null;
            this.canExecuteWithParameter = null;
        }
 /// <summary>
 /// Creates an in instance of the DelegateCommand class.
 /// </summary>
 /// <param name="executeDelegate">Delegate that is called when command is invoked.</param>
 public DelegateCommand(ExecuteDelegateWithNoParameter executeDelegate)
     : this(executeDelegate, null)
 {
 }