System.Text.RegularExpressions.RegexCharClass.SetFromProperty C# (CSharp) Method

SetFromProperty() private static method

private static SetFromProperty ( String capname, bool invert, string pattern ) : String
capname String
invert bool
pattern string
return String
        private static String SetFromProperty(String capname, bool invert, string pattern) {
            int min = 0;
            int max = _propTable.GetLength(0);
            while (min != max) {
                int mid = (min + max) / 2;
                int res = String.Compare(capname, _propTable[mid,0], StringComparison.Ordinal);
                if (res < 0)
                    max = mid;
                else if (res > 0)
                    min = mid + 1;
                else {
                    String set = _propTable[mid,1];
                    Debug.Assert(!String.IsNullOrEmpty(set), "Found a null/empty element in RegexCharClass prop table");
                    if (invert) 
                    {
                        if (set[0] == Nullchar) 
                        {
                            return set.Substring(1);
                        }
                        return Nullchar + set;
                    } 
                    else
                    {
                        return set;
                    }
                }
            }
            throw new ArgumentException(SR.GetString(SR.MakeException, pattern, SR.GetString(SR.UnknownProperty, capname))); 
        }