public override bool Equals(object o) { SetValuedKey other = (SetValuedKey)o; if (other.key.Count != this.key.Count) { return(false); } for (int i = 0; i < this.key.Count; i++) { if (this.key[i].Equals(other.key[i])) { return(false); } } return(true); }
public ICsClassHierarchy GetDefaultClassHierarchy(string[] assemblies, Type[] parameterParsers) { SetValuedKey key = new SetValuedKey(assemblies, parameterParsers); ICsClassHierarchy ret = null; defaultClassHierarchy.TryGetValue(key, out ret); if (ret == null) { ret = new ClassHierarchyImpl(assemblies, parameterParsers); defaultClassHierarchy.Add(key, ret); } return ret; }