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)); }
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); }