コード例 #1
0
        static void Main(string[] args)
        {
            try
            {
                var createCandidateAction      = new CreateCandidateAction();
                var updateCandidateStateAction = new UpdateCandidateStateAction();
                var listCandidatesAction       = new ListCandidatesStateAction();
                var printHelpAction            = new PrintHelpAction();

                IAction selectedAction = printHelpAction;

                var optionSet = new OptionSet()
                                .Add("h|?|help", "Print this help information", x => selectedAction = printHelpAction)
                                .Add("a|action=", "Action to be performed (create/update)",
                                     delegate(string x)
                {
                    switch (x.ToLowerInvariant())
                    {
                    case "create":
                        selectedAction = createCandidateAction;
                        break;

                    case "update":
                        selectedAction = updateCandidateStateAction;
                        break;

                    case "list":
                        selectedAction = listCandidatesAction;
                        break;

                    default:
                        selectedAction = printHelpAction;
                        break;
                    }
                })
                                .AddFromActions(printHelpAction, createCandidateAction, updateCandidateStateAction, listCandidatesAction);

                optionSet.Parse(args);
                var result = selectedAction.Perform(optionSet);
                Environment.Exit(result);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
                throw;
            }
        }
コード例 #2
0
        static void Main(string[] args)
        {
            try
            {
                var createCandidateAction = new CreateCandidateAction();
                var updateCandidateStateAction = new UpdateCandidateStateAction();
                var listCandidatesAction = new ListCandidatesStateAction();
                var printHelpAction = new PrintHelpAction();

                IAction selectedAction = printHelpAction;

                var optionSet = new OptionSet()
                    .Add("h|?|help", "Print this help information", x => selectedAction = printHelpAction)
                    .Add("a|action=", "Action to be performed (create/update)",
                         delegate(string x)
                             {
                                 switch (x.ToLowerInvariant())
                                 {
                                     case "create":
                                         selectedAction = createCandidateAction;
                                         break;
                                     case "update":
                                         selectedAction = updateCandidateStateAction;
                                         break;
                                     case "list":
                                         selectedAction = listCandidatesAction;
                                         break;
                                     default:
                                         selectedAction = printHelpAction;
                                         break;
                                 }
                             })
                    .AddFromActions(printHelpAction, createCandidateAction, updateCandidateStateAction, listCandidatesAction);

                optionSet.Parse(args);
                var result = selectedAction.Perform(optionSet);
                Environment.Exit(result);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
                throw;
            }
        }