public override int GetHashCode() { unchecked { var hashCode = Name != null?Name.GetHashCode() : 0; hashCode = (hashCode * 397) ^ (int)Type; hashCode = (hashCode * 397) ^ (From != null ? From.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (int)Rel; hashCode = (hashCode * 397) ^ (int)Scope; hashCode = (hashCode * 397) ^ (Default != null ? Default.GetHashCode() : 0); hashCode = (hashCode * 397) ^ Nullable.GetHashCode(); hashCode = (hashCode * 397) ^ Required.GetHashCode(); hashCode = (hashCode * 397) ^ Disabled.GetHashCode(); hashCode = (hashCode * 397) ^ Protected.GetHashCode(); hashCode = (hashCode * 397) ^ Personal.GetHashCode(); hashCode = (hashCode * 397) ^ (Annotations != null ? Annotations.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (Description != null ? Description.GetHashCode() : 0); return(hashCode); } }