예제 #1
0
        protected static bool EqualsCore(object t1, object t2, ITreeAdaptor adaptor)
        {
            if (t1 == null || t2 == null || (adaptor.GetType(t1) != adaptor.GetType(t2) || !adaptor.GetText(t1).Equals(adaptor.GetText(t2))))
            {
                return(false);
            }
            int childCount1 = adaptor.GetChildCount(t1);
            int childCount2 = adaptor.GetChildCount(t2);

            if (childCount1 != childCount2)
            {
                return(false);
            }
            for (int i = 0; i < childCount1; ++i)
            {
                if (!TreeWizard.EqualsCore(adaptor.GetChild(t1, i), adaptor.GetChild(t2, i), adaptor))
                {
                    return(false);
                }
            }
            return(true);
        }
예제 #2
0
 public bool Equals(object t1, object t2)
 {
     return(TreeWizard.EqualsCore(t1, t2, this.adaptor));
 }
예제 #3
0
 public static bool Equals(object t1, object t2, ITreeAdaptor adaptor)
 {
     return(TreeWizard.EqualsCore(t1, t2, adaptor));
 }