public virtual bool Equals(Circle circle) { if (circle == null || GetType() != circle.GetType()) return false; else if (Type == circle.Type && _radius == circle._radius) return true; else return false; }