示例#1
0
        internal RoleEntry FindAndRemoveMatchingParameters(RoleEntry[] availableEntries)
        {
            int num = Array.BinarySearch <RoleEntry>(availableEntries, this, RoleEntry.NameComparer);

            if (num < 0)
            {
                return(this);
            }
            new List <string>(this.Parameters);
            RoleEntry            roleEntry = availableEntries[num];
            ICollection <string> collection;

            if (roleEntry.ContainsAllParametersFromRoleEntry(this, out collection))
            {
                return(null);
            }
            return(this.Clone(collection));
        }
示例#2
0
        internal bool TryMatchRoleEntryToArrayAndRemoveKnownParameters(RoleEntry[] availableEntries, out RoleEntry filteredEntry)
        {
            int num = Array.BinarySearch <RoleEntry>(availableEntries, this, RoleEntry.NameComparer);

            if (num < 0)
            {
                filteredEntry = this;
                return(false);
            }
            new List <string>(this.Parameters);
            RoleEntry            roleEntry = availableEntries[num];
            ICollection <string> collection;

            if (roleEntry.ContainsAllParametersFromRoleEntry(this, out collection))
            {
                filteredEntry = null;
            }
            else
            {
                filteredEntry = this.Clone(collection);
            }
            return(true);
        }