当前位置: 首页>>代码示例>>C#>>正文


C# CommandLineParser.Parse方法代码示例

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


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

示例1: Example3

        static void Example3(string[] args)
        {
            CommandLineParser parser = new CommandLineParser();
            int intValue = 0;

            CommandLineIntOption intOption = new CommandLineIntOption("number");
            intOption.MinValue = 100;
            intOption.MaxValue = 200;
            intOption.ParameterType = ParameterType.Optional;
            intOption.Delegate = x => intValue = x.Value;
            parser.AddOption(intOption);

            parser.Parse(args);

            Console.WriteLine("Value: " + intValue);
        }
开发者ID:miryn,项目名称:DPP,代码行数:16,代码来源:Program.cs

示例2: Main

        static void Main(string[] args)
        {
            TestGnuTime();

            TestValueType();

            TestRequiredAndOptionalParameters();

            TestExceptions();

            TestOptionalParameters();

            TestTerminator();

            TestParsingException();

            TestConfigExceptions();

            TestRequiredOption();

            //args = new string[] { "--listen",  "--port", "80", "--hello=world" };
            args = new string[] { "-p", "80", "-l", "naky", "navic" };
            //args = new string[] { "-lp80" };
            //args = new string[] { "--port=100000" };
            //args = new string[] { "--hello=world" };

            CommandLineParser parser = new CommandLineParser();

            CommandLineIntOption p = new CommandLineIntOption("port", "p");
            p.MaxValue = 65535;
            p.Delegate = x => Console.WriteLine("Já jsem delegát: " + x.Value);
            parser.AddOption(p);

            CommandLineBoolOption l = new CommandLineBoolOption(name: "listen", shortName: "l");
            parser.AddOption(l);

            CommandLineStringOption s = new CommandLineStringOption("hello");
            s.AllowedValues.AddRange(new string[] { "abc", "def", "ghi" });
            parser.AddOption(s);

            List<string> extraParameters;

            //try
            {
                // run the parser
                extraParameters = parser.Parse(args);
            }

            /*catch (ParsingException e)
            {
                Console.WriteLine(e.Message);
                return;
            }*/
            /*catch (OptionNotFoundException e)
            {
                Console.WriteLine(e.Message);
                return;
            }*/

            Console.WriteLine("p.Value: " + p.Value);
            Console.WriteLine("l.Present: " + l.Present);
            Console.WriteLine("s.Value: " + s.Value);
            Console.WriteLine("extraParameters: " + string.Join(",", extraParameters));
        }
开发者ID:miryn,项目名称:DPP,代码行数:64,代码来源:Program.cs

示例3: TestValueType

        static void TestValueType()
        {
            CommandLineParser parser = new CommandLineParser();

            CommandLineIntOption intOption = new CommandLineIntOption("int", "i");
            parser.AddOption(intOption);

            var otherParams = parser.Parse(new string[] { "-i", "10" });

            TestAssert(intOption.Value == 10);
            TestAssert(intOption.Value.GetType() == typeof(int));
        }
开发者ID:miryn,项目名称:DPP,代码行数:12,代码来源:Program.cs

示例4: TestTerminator

        static void TestTerminator()
        {
            CommandLineParser parser = new CommandLineParser();

            CommandLineStringOption strOption = new CommandLineStringOption("str", "s");
            strOption.ParameterType = ParameterType.Optional;
            parser.AddOption(strOption);

            var otherParams = parser.Parse(new string[] { "-s", "ahoj", "--", "-s" });

            Console.WriteLine(strOption.Value);

            TestAssert(otherParams.Count == 1);
            TestAssert(otherParams[0] == "-s");
        }
开发者ID:miryn,项目名称:DPP,代码行数:15,代码来源:Program.cs

示例5: TestRequiredAndOptionalParameters

        static void TestRequiredAndOptionalParameters()
        {
            CommandLineParser p = new CommandLineParser();

            var s = new CommandLineStringOption("string", "s");
            s.ParameterType = ParameterType.Optional;
            p.AddOption(s);

            var b = new CommandLineBoolOption("bool", "b");
            p.AddOption(b);

            var args = new string[] { "--string", "dalsi", "hodnota" };
            var extraParameters = p.Parse(args);

            TestAssert(s.Value == "dalsi");
            TestAssert(b.Present == false);
            TestAssert(extraParameters.Count == 1);
            TestAssert(extraParameters[0] == "hodnota");

            args = new string[] { "--string", "-b", "dalsi", "hodnota" };
            extraParameters = p.Parse(args);

            TestAssert(s.Value == "-b");
            TestAssert(b.Present == false);
            TestAssert(extraParameters.Count == 2);
            TestAssert(extraParameters[0] == "dalsi");
            TestAssert(extraParameters[1] == "hodnota");

            args = new string[] { "-b", "--string", "dalsi", "hodnota" };
            extraParameters = p.Parse(args);

            TestAssert(s.Value == "dalsi");
            TestAssert(b.Present == true);
            TestAssert(extraParameters.Count == 1);
            TestAssert(extraParameters[0] == "hodnota");
        }
开发者ID:miryn,项目名称:DPP,代码行数:36,代码来源:Program.cs

示例6: TestParsingException

        static void TestParsingException()
        {
            CommandLineParser parser = new CommandLineParser();

            CommandLineStringOption strOption = new CommandLineStringOption("str", "s");
            strOption.ParameterType = ParameterType.Required;
            parser.AddOption(strOption);

            try
            {
                var otherParams = parser.Parse(new string[] { "-s" });
                TestAssert(false);
            }
            catch (ParsingException p)
            {
                TestAssert(p.Option.Name == "str");
            }
        }
开发者ID:miryn,项目名称:DPP,代码行数:18,代码来源:Program.cs

示例7: TestExceptions

        static void TestExceptions()
        {
            CommandLineParser p = new CommandLineParser();

            /*
            var s = new CommandLineBoolOption("bool");
            try
            {
                s.ParameterType = ParameterType.Optional;
                TestAssert(false);
            }
            catch (Exception e)
            {
                TestAssert(e.GetType() == typeof(ParsingException));
            }

            try
            {
                s.ParameterType = ParameterType.Required;
                TestAssert(false);
            }
            catch (Exception e)
            {
                TestAssert(e.GetType() == typeof(ParsingException));
            }

            try
            {
                s.ParameterType = (ParameterType)10;
                TestAssert(false);
            }
            catch (Exception e)
            {
                TestAssert(e.GetType() == typeof(ParsingException));
            }

            try
            {
                s.ParameterType = (ParameterType)10;
                TestAssert(false);
            }
            catch (Exception e)
            {
                TestAssert(e.GetType() == typeof(ParsingException));
            }

            p.AddOption(s);

            try
            {
                p.AddOption(s);
                TestAssert(false);
            }
            catch (Exception e)
            {
                TestAssert(e.GetType() == typeof(ParsingException));
            }
            */

            {
                p = new CommandLineParser();
                CommandLineBoolOption b1 = new CommandLineBoolOption("bool1", "q");
                CommandLineBoolOption b2 = new CommandLineBoolOption("bool2", "w");
                p.AddOption(b1);
                p.AddOption(b2);

                try
                {
                    b2.Name = "bool1"; // exception
                    //TestAssert(false);
                }
                catch (Exception e)
                {
                    TestAssert(e.GetType() == typeof(ConfigurationException));
                }

                try
                {
                    b2.ShortName = "q"; // exception
                    //TestAssert(false);
                }
                catch (Exception e)
                {
                    TestAssert(e.GetType() == typeof(ConfigurationException));
                }

                b2.Name = "bool3";

                p.Parse(new string[] { "--bool3" });
                TestAssert(b1.Present == false);
                TestAssert(b2.Present == true);
            }

            {
                p = new CommandLineParser();
                CommandLineBoolOption b1 = new CommandLineBoolOption("bool1", "q");
                CommandLineBoolOption b2 = new CommandLineBoolOption("bool2", "q");
                p.AddOption(b1);

                try
//.........这里部分代码省略.........
开发者ID:miryn,项目名称:DPP,代码行数:101,代码来源:Program.cs

示例8: Time

        public Time(string[] args)
        {
            CommandLineParser parser = new CommandLineParser();

            var format = new CommandLineStringOption("format", "f");
            format.Help = "Specify output format, possibly overriding the format specified in the environment variable TIME.";
            format.ExpectedValue = "format";
            parser.AddOption(format);
            format.ShortName = "X";

            var portability = new CommandLineBoolOption("portability", "p");
            portability.Help = "Use the portable output format.";
            //parser.AddOption(portability);

            var output = new CommandLineStringOption("output", "o");
            output.Help = "Do not send the results to stderr, but overwrite the specified file.";
            output.ExpectedValue = "file";
            output.Required = true;
            //parser.AddOption(output);

            var append = new CommandLineBoolOption("append", "a");
            append.Help = "(Used together with -o.) Do not overwrite but append.";
            //parser.AddOption(append);

            var verbose = new CommandLineBoolOption("verbose", "v");
            verbose.Help = "Give very verbose output about all the program knows about.";
            verbose.Required = true;
            //verbose.ParameterType = ParameterType.Required;
            //parser.AddOption(verbose);

            var help = new CommandLineBoolOption("help");
            help.Help = "Print a usage message on standard output and exit successfully.";
            //parser.AddOption(help);

            var version = new CommandLineBoolOption("version", "V");
            version.Help = "Print version information on standard output, then exit successfully.";
            //parser.AddOption(version);

            List<string> extraParameters;

            try
            {
                extraParameters = parser.Parse(args);
            }
            catch (ParsingException ex)
            {
                if (ex.Option != null)
                {
                    Console.WriteLine("An error occurred in parameter " + ex.Option.Name);
                }
                Console.WriteLine("Message: " + ex.Message);
                return;
            }

            if ((args.Length == 0) || (help.Present))
            {
                parser.PrintHelp();
                return;
            }

            Console.WriteLine("Format: " + format.Value);
            Console.WriteLine("Verbose: " + verbose.Present);
            Console.WriteLine("Output: " + output.Value);
        }
开发者ID:elenfant,项目名称:mff-programming-practices,代码行数:64,代码来源:Program.cs


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