public bool Equals(PersonName name) { if (name == null || GetType() != name.GetType()) { return(false); } return(name.FirstName == GetType().GetProperty("FirstName").GetValue(this).ToString() && name.LastName == GetType().GetProperty("LastName").GetValue(this).ToString()); }