// override object.Equals public override bool Equals(object obj) { // // See the full list of guidelines at // http://go.microsoft.com/fwlink/?LinkID=85237 // and also the guidance for operator== at // http://go.microsoft.com/fwlink/?LinkId=85238 // if (obj == null || GetType() != obj.GetType()) { if (obj is XShape) { return(OoUtils.AreOoObjectsEqual(Shape, obj)); } return(false); } if (base.Equals(obj)) { return(true); } try { return(OoUtils.AreOoObjectsEqual(Shape, ((OoShapeObserver)obj).Shape)); } catch { return(false); } }