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


C# IOptions.GetOption方法代码示例

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


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

示例1: ProcessProperties

        protected void ProcessProperties(IOptions options, IEnumerable<KeyValuePair<string, string>> properties)
        {
            if (properties == null) {
                return;
            }

            foreach (KeyValuePair<string, string> option in properties) {
                if (!cmd.HasOption(option.Key)) {
                    IOption opt = options.GetOption(option.Key);

                    // get the value from the properties instance
                    var value = option.Value;
                    OptionValue optValue = null;
                    if (opt.HasArgument()) {
                        optValue = SafeGetOptionValue(opt);

                        if (optValue.Values == null || !optValue.Values.Any()) {
                            try {
                                optValue.AddValueForProcessing(value);
                            } catch (ApplicationException) {
                                // if we cannot add the value don't worry about it
                            }
                        }
                    } else if (String.Compare(value, "yes", StringComparison.OrdinalIgnoreCase) != 0 &&
                             String.Compare(value, "true", StringComparison.OrdinalIgnoreCase) != 0 &&
                             String.Compare(value, "1", StringComparison.OrdinalIgnoreCase) != 0) {
                        // if the value is not yes, true or 1 then don't add the
                        // option to the CommandLine
                        break;
                    }

                    cmd.AddOption(optValue);
                }
            }
        }
开发者ID:deveel,项目名称:deveel-cli,代码行数:35,代码来源: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.GetOption方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。