Example #1
0
        internal int ContentsHashCode()
        {
            string s = GetTextOnly();

            if (s != null)
            {
                return(s.GetHashCode());
            }
            int   h = 0;
            XNode n = content as XNode;

            if (n != null)
            {
                do
                {
                    n = n.next;
                    string text = CollectText(ref n);
                    if (text.Length > 0)
                    {
                        h ^= text.GetHashCode();
                    }
                    if (n == null)
                    {
                        break;
                    }
                    h ^= n.GetDeepHashCode();
                } while (n != content);
            }
            return(h);
        }