За информацията в тази статия или раздел не са посочени източници. Въпросната информация може да е непълна, неточна или изцяло невярна. Имайте предвид, че това може да стане причина за изтриването на цялата статия или раздел.
namespaceCommandDesignPattern{//производните обекти на този клас правят заявки според предадените им командни обектиclassInvoker{privateCommandcommand;publicvoidSetCommand(Commandcommand){this.command=command;}//този метод извиква командатаpublicvoidExecuteCommand(){command.Execute();}}//eof class//производните обекти на този клас получаватclassReceiver{publicvoidAction(){Console.WriteLine("Called ...");}}//eof ReceiverabstractclassCommand{protectedReceiverreceiver;publicCommand(Receiverreceiver){this.receiver=receiver;}publicabstractvoidExecute();}//eof classclassConcreteCommand:Command{publicConcreteCommand(Receiverreceiver):base(receiver){}publicoverridevoidExecute(){receiver.Action();}}classProgram{//главният метод на приложениетоstaticvoidMain(){Receiverreceiver=newReceiver();//създаване на обекта получател// Remember that you don´t really need an receiver if you don´t want it.Commandcommand=newConcreteCommand(receiver);Invokerinvoker=newInvoker();//създаване на заявяващия обектinvoker.SetCommand(command);//конфигуриране на командата според типа иinvoker.ExecuteCommand();//изпълняване на командатаConsole.ReadLine();//използван само за спиране на конзолата}//eof Main}//eof class}//eof namespace