• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C# CommandLineParser类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中CommandLineParser的典型用法代码示例。如果您正苦于以下问题:C# CommandLineParser类的具体用法?C# CommandLineParser怎么用?C# CommandLineParser使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



CommandLineParser类属于命名空间,在下文中一共展示了CommandLineParser类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: Main

 public static void Main(string[] args)
 {
     new ConsoleApplication().Run(() => {
         var arguments = new CommandLineParser().Parse<ApplicationArguments>(args);
         Main(arguments);
     });
 }
开发者ID:ashmind,项目名称:lightget,代码行数:7,代码来源:Program.cs


示例2: Main

        static int Main(string[] args)
        {
            // Parse commandline options.
            var options = new CommandLineOptions();
            var parser = new CommandLineParser(options);

            if (!parser.ParseCommandLine(args))
            {
                return 1;
            }

            // Run the program logic.
            try
            {
                var docsrc = PreprocessDocuments(options);

                GenerateIndexTopics(options, docsrc);
            }
            catch (Exception e)
            {
                Console.Error.WriteLine("Error: {0}\n\n{1}:\n{2}", e.Message, e.GetType(), e.StackTrace);
                return 1;
            }

            return 0;
        }
开发者ID:fengweijp,项目名称:Win2D,代码行数:26,代码来源:Program.cs


示例3: ParseOptionsWithoutValues

 public void ParseOptionsWithoutValues()
 {
     var parser = new CommandLineParser();
     parser.Parse(new string[] { "file.txt", "/i", "fileinputname" });
     Assert.AreEqual(3, parser.ParametersCount, "Invalid count of parameters");
     Assert.Throws<System.Collections.Generic.KeyNotFoundException>(() => parser.GetNamedOption("i"));
 }
开发者ID:dupdob,项目名称:SHON,代码行数:7,代码来源:TestCommandLineParser.cs


示例4: Main

        public static void Main(string[] args)
        {
            var parser = new CommandLineParser(typeof(ProgramArguments));
            try
            {
                if (args.Length != 0 && !args.SequenceEqual(new[] { "/help" }))
                {
                    Process((ProgramArguments)parser.Parse(args));
                    return;
                }
            }
            catch (CommandLineArgumentException ex)
            {
                using (LineWrappingTextWriter writer = LineWrappingTextWriter.ForConsoleError())
                using (new ConsoleColorer(ConsoleColor.Red))
                {
                    writer.WriteLine();
                    writer.WriteLine(ex.Message);
                    writer.WriteLine();
                }
            }

            parser.WriteUsageToConsole(new WriteUsageOptions
                {
                    IncludeAliasInDescription = true,
                });
        }
开发者ID:robfe,项目名称:SpecShow,代码行数:27,代码来源:Program.cs


示例5: Parser_UnrecognizedArguments

        public void Parser_UnrecognizedArguments()
        {
            CommandLineParser parser;
            IEnumerable<ArgumentInstance> instances;
            TestLogger logger;

            string[] args = new string[] { "/a:XXX", "/unrecognized" };

            ArgumentDescriptor d1 = new ArgumentDescriptor("id1", new string[] { "/a:" }, true, "desc1", false);

            // 1. Don't allow unrecognized
            parser = new CommandLineParser(new ArgumentDescriptor[] { d1 }, false);

            logger = CheckProcessingFails(parser, args);

            logger.AssertSingleErrorExists("/unrecognized");
            logger.AssertErrorsLogged(1);

            // 2. Allow unrecognized
            parser = new CommandLineParser(new ArgumentDescriptor[] { d1 }, true);
            logger = new TestLogger();
            instances = CheckProcessingSucceeds(parser, logger, args);

            AssertExpectedValue("id1", "XXX", instances);
            AssertExpectedInstancesCount(1, instances);
            logger.AssertMessagesLogged(0); // expecting unrecognized arguments to be ignored silently
        }
开发者ID:BrightLight,项目名称:sonar-msbuild-runner,代码行数:27,代码来源:CommandLineParserTests.cs


示例6: Main

 private static void Main(string[] args)
 {
     var console = new DefaultConsole();
     var parser = new CommandLineParser<CommandLineContext>(console);
     var result = parser.Parse(args);
     if (result.Kind == ParsingResultKind.Success)
     {
         try
         {
             result.Context.Command.ExecuteCommand();
         }
         catch (ArgumentException)
         {
             console.WriteLine(WriteKind.Error, "The url should be absolute");
         }
         catch (WebException)
         {
             console.WriteLine(WriteKind.Error, "Couldn't process the page");
         }
         catch (UnauthorizedAccessException)
         {
             console.WriteLine(WriteKind.Error, "Access denied.");
             console.WriteLine(WriteKind.Info, "Try running as administrator");
         }
     }
 }
开发者ID:mrahhal,项目名称:OfflineWeb,代码行数:26,代码来源:Program.cs


示例7: FontGenerationParameters

        /// <summary>
        /// Initializes a new instance of the <see cref="FontGenerationParameters"/> class.
        /// </summary>
        /// <param name="args">The application's command line arguments.</param>
        public FontGenerationParameters(String[] args)
        {
            if (args == null || !args.Any())
                throw new InvalidCommandLineException();

            var parser = new CommandLineParser(args.Skip(1));
            if (parser.IsParameter(args.First()))
            {
                throw new InvalidCommandLineException();
            }

            NoBold   = parser.HasArgument("nobold");
            NoItalic = parser.HasArgument("noitalic");

            FontName = args.First();
            FontSize = parser.GetArgumentOrDefault<Single>("fontsize", 16f);
            Overhang = parser.GetArgumentOrDefault<Int32>("overhang", 0);
            PadLeft = parser.GetArgumentOrDefault<Int32>("pad-left", 0);
            PadRight = parser.GetArgumentOrDefault<Int32>("pad-right", 0);
            SuperSamplingFactor = parser.GetArgumentOrDefault<Int32>("supersample", 2);

            if (SuperSamplingFactor < 1)
                SuperSamplingFactor = 1;

            SourceText    = parser.GetArgumentOrDefault<String>("sourcetext");
            SourceFile    = parser.GetArgumentOrDefault<String>("sourcefile");
            SourceCulture = parser.GetArgumentOrDefault<String>("sourceculture");

            if (SourceText != null && SourceFile != null)
                throw new InvalidCommandLineException("Both a source text and a source file were specified. Pick one!");

            SubstitutionCharacter = parser.GetArgumentOrDefault<Char>("sub", '?');
        }
开发者ID:prshreshtha,项目名称:ultraviolet,代码行数:37,代码来源:FontGenerationParameters.cs


示例8: Parser_Multiples

        public void Parser_Multiples()
        {
            CommandLineParser parser;
            IEnumerable<ArgumentInstance> instances;
            TestLogger logger;

            string[] args = new string[] { "zzzv1", "zzzv2", "zzzv3" };

            // 1. Don't allow multiples
            ArgumentDescriptor d1 = new ArgumentDescriptor("id", new string[] { "zzz" }, true, "desc1", false /* no multiples */);
            parser = new CommandLineParser(new ArgumentDescriptor[] { d1 }, false);

            logger = CheckProcessingFails(parser, args);

            logger.AssertSingleErrorExists("zzzv2", "v1");
            logger.AssertSingleErrorExists("zzzv3", "v1");
            logger.AssertErrorsLogged(2);

            // 2. Allow multiples
            d1 = new ArgumentDescriptor("id", new string[] { "zzz" }, true, "desc1", true /* allow multiple */);
            parser = new CommandLineParser(new ArgumentDescriptor[] { d1 }, true);
            logger = new TestLogger();
            instances = CheckProcessingSucceeds(parser, logger, args);

            AssertExpectedValues("id", instances, "v1", "v2", "v3");
            AssertExpectedInstancesCount(3, instances);
        }
开发者ID:nilleb,项目名称:sonar-msbuild-runner,代码行数:27,代码来源:CommandLineParserTests.cs


示例9: Main

        static int Main(string[] args)
        {
            try
            {
                var commandLineParser = new CommandLineParser(args);

                if (commandLineParser.HasErrors)
                {
                    using (Foreground.Red)
                        foreach (var error in commandLineParser.Errors)
                            Console.WriteLine(error);

                    Console.WriteLine("Usage: Fixie.Console [custom-options] assembly-path...");
                    return FatalError;
                }

                int failed = 0;

                foreach (var assemblyPath in commandLineParser.AssemblyPaths)
                {
                    var result = Execute(assemblyPath, args);

                    failed += result.Failed;
                }

                return failed;
            }
            catch (Exception exception)
            {
                using (Foreground.Red)
                    Console.WriteLine("Fatal Error: {0}", exception);
                return FatalError;
            }
        }
开发者ID:jrios,项目名称:fixie,代码行数:34,代码来源:Program.cs


示例10: Main

        static int Main(string[] args)
        {
            //Console.WriteLine("Anzahl: " + args.Count());

              Options options = new Options();
              CommandLineParser parser = new CommandLineParser(options);
              parser.Parse();
              Console.WriteLine(parser.UsageInfo.GetHeaderAsString(consoleWidth));

              if (options.Help)
              {
            Console.WriteLine(parser.UsageInfo.GetOptionsAsString(consoleWidth));
            StopApp();
            return 0;
              }
              else if (parser.HasErrors)
              {
            Console.WriteLine(parser.UsageInfo.GetErrorsAsString(consoleWidth));
            StopApp();
            return -1;
              }
              //Console.WriteLine("Hello {0}!", options.Name);

              Converter.Converter conv = new Converter.Converter(parser, options);
              String ret = conv.StartConverting();

              Console.WriteLine(ret);

              StopApp();
              return 0;
        }
开发者ID:imifos,项目名称:Termserver,代码行数:31,代码来源:Program.cs


示例11: Main

        private static int Main(string[] args)
        {
            string log4NetFile = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location),
                                              "loggingSettings.xml");
            XmlConfigurator.Configure(new FileInfo(log4NetFile));
            var programParams = new ProgramParams();
            var parser = new CommandLineParser(programParams);
            parser.Parse();

            if (programParams.Help)
            {
                Console.WriteLine(parser.UsageInfo.ToString(78, false));
            }
            else if (parser.HasErrors)
            {
                Console.WriteLine(parser.UsageInfo.ToString(78, true));
                return -1;
            }

            try
            {
                new Program(programParams);
            }
            catch (Exception e)
            {
                log.Error(e.Message, e);
                Console.Out.WriteLine("ERROR: " + e.Message);
                return -1;
            }
            return 0;
        }
开发者ID:rolfwessels,项目名称:databaseversioncontrol,代码行数:31,代码来源:Program.cs


示例12: TestIgnoresBogusCommands

		public void TestIgnoresBogusCommands()
		{
			string [] commandLine = new String[3];
			commandLine[0] = "/u";
			commandLine[1] = "q:\\test\\other\\";
			commandLine[2] = "/t";
			CommandLineParser parser = new CommandLineParser(commandLine);
			Assert.IsTrue( parser.RegistrationPath == "q:\\test\\other\\" );
			Assert.IsTrue( parser.RegisterMode == CommandLineParser.InstallMode.Unregister );

			commandLine = new String[3];
			commandLine[0] = "/u";
			commandLine[1] = "/YYYYY";
			commandLine[2] = "/t";
			parser = new CommandLineParser(commandLine);
			Assert.IsTrue( parser.RegistrationPath == "" );
			Assert.IsTrue( parser.RegisterMode == CommandLineParser.InstallMode.Unregister );

			commandLine = new String[2];
			commandLine[0] = "/YYYYY";
			commandLine[1] = "/t";
			parser = new CommandLineParser(commandLine);
			Assert.IsTrue( parser.RegistrationPath == "" );
			Assert.IsTrue( parser.RegisterMode == CommandLineParser.InstallMode.Register );
		}
开发者ID:killbug2004,项目名称:WSProf,代码行数:25,代码来源:TestCmdLineParser.cs


示例13: MasksSecretArgs

        public void MasksSecretArgs()
        {
            using (TestHostContext hc = CreateTestContext())
            {
                // Arrange.
                CommandLineParser clp = new CommandLineParser(
                    hc,
                    secretArgNames: new[] { "SecretArg1", "SecretArg2" });

                // Assert.
                clp.Parse(new string[]
                {
                    "cmd",
                    "--secretarg1",
                    "secret value 1",
                    "--publicarg",
                    "public arg value",
                    "--secretarg2",
                    "secret value 2",
                });

                // Assert.
                _secretMasker.Verify(x => x.AddValue("secret value 1"));
                _secretMasker.Verify(x => x.AddValue("secret value 2"));
                _secretMasker.Verify(x => x.AddValue(It.IsAny<string>()), Times.Exactly(2));
            }
        }
开发者ID:codedebug,项目名称:vsts-agent,代码行数:27,代码来源:CommandLineParserL0.cs


示例14: ParseArgs

        public static CommandLineOptions ParseArgs(string[] args)
        {
            var options = new CommandLineOptions();
            var parser = new CommandLineParser();

            parser.AddOption("--debug");
            parser.AddOption("--release");

            parser.Parse(args);

            var s = parser.GetArgument(0);

            if (s != null)
            {
                options.ScriptName = s;
                options.Debug = false;
                options.UserArguments = Runtime.AsList(parser.GetArgumentArray(1));
            }

            if (parser.GetOption("release") != null)
            {
                options.Debug = false;
            }

            if (parser.GetOption("debug") != null)
            {
                options.Debug = true;
            }

            return options;
        }
开发者ID:jantolenaar,项目名称:kiezellisp,代码行数:31,代码来源:options.cs


示例15: Show

        public void Show()
        {
            CommandLineParser p = new CommandLineParser();
            p.RegisterArgumentsForCommand<ArgumentWithSameFirstLetter>("test");

            Console.Write(p.WhatsRegistered());
        }
开发者ID:KevM,项目名称:Magnum,代码行数:7,代码来源:Visualizer.cs


示例16: Main

        static int Main(string[] args)
        {
            // Read command line
            var options = new CommandLineOptions();
            
            var parser = new CommandLineParser(options);
            if (!parser.ParseCommandLine(args))
            {
                return 1;
            }

            var config = LoadConfig(options);

            // Export Samples
            foreach (var sample in config.Samples)
            {
                SampleExporter.Export(config, sample);
            }

            // Copy individual files
            foreach (var file in config.FilesToCopy)
            {
                File.Copy(Path.Combine(config.Options.Root, file), Path.Combine(config.Options.Dest, file), true);
            }

            return 0;
        }
开发者ID:fengweijp,项目名称:Win2D,代码行数:27,代码来源:Program.cs


示例17: ArchiveGenerationParameters

        /// <summary>
        /// Initializes a new instance of the <see cref="ArchiveGenerationParameters"/> class.
        /// </summary>
        /// <param name="args">The application's command line arguments.</param>
        public ArchiveGenerationParameters(String[] args)
        {
            if (args == null || !args.Any())
                throw new InvalidCommandLineException();

            var parser = new CommandLineParser(args);
            if (!parser.IsParameter(args.First()))
                throw new InvalidCommandLineException();

            switch (args.First().ToLowerInvariant())
            {
                case "-pack":
                    Command = ArchiveGenerationCommand.Pack;
                    ProcessPackParameters(args, parser);
                    break;

                case "-list":
                    Command = ArchiveGenerationCommand.List;
                    ProcessListParameters(args, parser);
                    break;

                default:
                    throw new InvalidCommandLineException();
            }
        }
开发者ID:RUSshy,项目名称:ultraviolet,代码行数:29,代码来源:ArchiveGenerationParameters.cs


示例18: NoArgs_Creates_Empty_Options

        public void NoArgs_Creates_Empty_Options()
        {
            var parser = new CommandLineParser<OptionsWithOneArg>();
            var options = parser.Parse(new string[0]);

            Assert.That(options.Action, Is.Null);
        }
开发者ID:nbarnwell,项目名称:RasDialNet,代码行数:7,代码来源:CommandLineParserTests.cs


示例19: GetCommand

        private static Command GetCommand(string[] args, ILogger logger)
        {
            try
            {
                var parser = new CommandLineParser<RasDialOptions>();
                var options = parser.Parse(args);

                var commandType = typeof(Command).Assembly
                                                 .GetTypes()
                                                 .SingleOrDefault(x => x.Name.Equals(options.Action, StringComparison.InvariantCultureIgnoreCase));

                if (commandType == null)
                {
                    throw new ArgumentException(string.Format("No action found for {0}.", options.Action));
                }

                return (Command)Activator.CreateInstance(commandType, new object[] { options, logger });
            }
            catch (Exception e)
            {
                logger.Error("Failed to find command.", e);
            }

            return null;
        }
开发者ID:nbarnwell,项目名称:RasDialNet,代码行数:25,代码来源:Program.cs


示例20: SingleStringArg_with_no_key

        public void SingleStringArg_with_no_key()
        {
            var parser = new CommandLineParser<OptionsWithOneArg>();
            var options = parser.Parse(new[] { "connect" });

            Assert.That(options.Action, Is.EqualTo("connect"));
        }
开发者ID:nbarnwell,项目名称:RasDialNet,代码行数:7,代码来源:CommandLineParserTests.cs



注:本文中的CommandLineParser类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# CommandManager类代码示例发布时间:2022-05-24
下一篇:
C# CommandLineArguments类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap