public override bool Equals(Object o) { if (o == null || this.GetType() != o.GetType()) { return base.Equals(o); } return attributes.Equals(((ObjectWithDynamicAttributes) o).attributes); }