예제 #1
0
        internal static IOption FindSubOption(IOptionWithSubOptions opt, string optName)
        {
            foreach (IOption subOpt in opt.SubOptions)
            {
                if (subOpt == null)
                    continue;

                if (subOpt.Name == optName)
                    return subOpt;

                if (subOpt is IOptionWithSubOptions)
                {
                    var result = (subOpt as IOptionWithSubOptions).Find(optName);
                    if (result != null)
                        return result;

                }
            }

            return null;
        }
예제 #2
0
        internal static bool MatchesSearchIncludingSubOptions(IOptionWithSubOptions opt, string searchText)
        {
            if (MatchesSearch((IOption) opt, searchText))
                return true;

            foreach (IOption subOpt in opt.SubOptions)
            {
                if (subOpt != null && subOpt.MatchesSearch(searchText))
                    return true;
            }

            return false;
        }