示例#1
0
        private static bool isOptionNameMatch(Option opt, string token, bool useShort)
        {
            if (useShort)
            {
                return(opt.ShortName != null && CStringUtils.EqualsIgnoreCase(opt.ShortName, token));
            }

            return(CStringUtils.EqualsIgnoreCase(opt.Name, token));
        }
示例#2
0
        internal Option FindNonAmbiguousOption(string name, bool useShort)
        {
            if (name.Length == 0)
            {
                return(null);
            }

            if (m_options != null)
            {
                Option targetOpt = null;
                foreach (Option opt in m_options)
                {
                    String optName = useShort ? opt.ShortName : opt.Name;
                    if (optName == null)
                    {
                        continue;
                    }

                    if (targetOpt == null)
                    {
                        if (CStringUtils.EqualsIgnoreCase(optName, name))
                        {
                            targetOpt = opt;
                        }
                    }
                    else if (CStringUtils.StartsWithIgnoreCase(optName, name))
                    {
                        return(null);
                    }
                }

                return(targetOpt);
            }

            return(null);
        }