public override bool Equals(object obj) { if (!(obj is ItemName)) { return(false); } var other = (ItemName)obj; return(id.Equals(other.id) && flags.Equals(other.flags) && StringComparer.OrdinalIgnoreCase.Equals(this.name, other.name)); }