예제 #1
0
        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);
        }
예제 #2
0
        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;
        }