public override int GetHashCode() { IntPtr pUnk = Marshal.GetIUnknownForObject(this._DomObject); try { return pUnk.GetHashCode(); } finally { if (pUnk != IntPtr.Zero) Marshal.Release(pUnk); } }