/// <summary>
        /// Entry point into console application.
        /// </summary>
        static void Main()
        {
            // Create receiver, command, and invoker
            var receiver = new Receiver();
            var command = new ConcreteCommand(receiver);
            var invoker = new Invoker();

            // Set and execute command
            invoker.SetCommand(command);
            invoker.ExecuteCommand();

            // Wait for user
            Console.ReadKey();
        }
 // Constructor
 public ConcreteCommand(Receiver receiver)
     : base(receiver)
 {
 }
 // Constructor
 public ConcreteCommand(Receiver receiver) :
     base(receiver)
 {
 }
 // Constructor
 public Command(Receiver receiver)
 {
     this.receiver = receiver;
 }
 // Constructor
 public Command(Receiver receiver)
 {
     this.receiver = receiver;
 }