public override bool Equals(object obj) { try { Point p = (Point)obj; return p.x == this.x && p.y == this.y && p.z == z; } catch (InvalidCastException) { return false; } }