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


C# IOptions.HasOption方法代码示例

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


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

示例1: ProcessArguments

        private void ProcessArguments(IOptions options, OptionValue opt, string[] tokens, ref int index)
        {
            // loop until an option is found
            while (++index < tokens.Length) {
                String str = tokens[index];

                // found an Option, not an argument
                if (options.HasOption(str) && str.StartsWith("-")) {
                    index--;
                    break;
                }

                // found a value
                try {
                    opt.AddValueForProcessing(Util.StripLeadingAndTrailingQuotes(str));
                } catch (ApplicationException) {
                    index--;
                    break;
                }
            }

            if (opt.Values == null && !opt.Option.HasOptionalArguments()) {
                throw new MissingArgumentException(opt.Option);
            }
        }
开发者ID:deveel,项目名称:deveel-cli,代码行数:25,代码来源:Parser.cs

示例2: ProcessOption

        protected void ProcessOption(IOptions options, string arg, string[] tokens, ref int index)
        {
            bool hasOption = options.HasOption(arg);

            // if there is no option throw an UnrecognisedOptionException
            if (!hasOption) {
                throw new UnrecognizedOptionException("Unrecognized option: " + arg, arg);
            }

            // get the option represented by arg
            OptionValue opt = new OptionValue(options.GetOption(arg));

            // if the option is a required option remove the option from
            // the requiredOptions list
            if (opt.Option.IsRequired) {
                options.RequiredOptions.Remove(opt.Option.Key());
            }

            // if the option is in an OptionGroup make that option the selected
            // option of the group
            if (options.GetOptionGroup(opt.Option) != null) {
                IOptionGroup group = options.GetOptionGroup(opt.Option);

                if (group.IsRequired) {
                    foreach (var option in group.Options)
                        options.RequiredOptions.Remove(option.Key());
                }

                // group.SetSelected(opt.Option);
                AssertNotSelected(group, opt.Option);
            }

            // if the option takes an argument value
            if (opt.Option.HasArgument()) {
                ProcessArguments(options, opt, tokens, ref index);
            }

            // set the option on the command line
            cmd.AddOption(opt);
        }
开发者ID:deveel,项目名称:deveel-cli,代码行数:40,代码来源:Parser.cs


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