/// <inheritdoc /> public override int GetHashCode() { unchecked // Overflow is fine, just wrap { var hashCode = 41; if (Family != null) { hashCode = hashCode * 59 + Family.GetHashCode(); } if (FamilyArray != null) { hashCode = hashCode * 59 + FamilyArray.GetHashCode(); } if (Size != null) { hashCode = hashCode * 59 + Size.GetHashCode(); } if (SizeArray != null) { hashCode = hashCode * 59 + SizeArray.GetHashCode(); } if (Color != null) { hashCode = hashCode * 59 + Color.GetHashCode(); } if (ColorArray != null) { hashCode = hashCode * 59 + ColorArray.GetHashCode(); } if (FamilySrc != null) { hashCode = hashCode * 59 + FamilySrc.GetHashCode(); } if (SizeSrc != null) { hashCode = hashCode * 59 + SizeSrc.GetHashCode(); } if (ColorSrc != null) { hashCode = hashCode * 59 + ColorSrc.GetHashCode(); } return(hashCode); } }
public bool Equals([AllowNull] Font other) { if (other == null) { return(false); } if (ReferenceEquals(this, other)) { return(true); } return((Family == other.Family && Family != null && other.Family != null && Family.Equals(other.Family)) && (Equals(FamilyArray, other.FamilyArray) || FamilyArray != null && other.FamilyArray != null && FamilyArray.SequenceEqual(other.FamilyArray)) && (Size == other.Size && Size != null && other.Size != null && Size.Equals(other.Size)) && (Equals(SizeArray, other.SizeArray) || SizeArray != null && other.SizeArray != null && SizeArray.SequenceEqual(other.SizeArray)) && (Color == other.Color && Color != null && other.Color != null && Color.Equals(other.Color)) && (Equals(ColorArray, other.ColorArray) || ColorArray != null && other.ColorArray != null && ColorArray.SequenceEqual(other.ColorArray)) && (FamilySrc == other.FamilySrc && FamilySrc != null && other.FamilySrc != null && FamilySrc.Equals(other.FamilySrc)) && (SizeSrc == other.SizeSrc && SizeSrc != null && other.SizeSrc != null && SizeSrc.Equals(other.SizeSrc)) && (ColorSrc == other.ColorSrc && ColorSrc != null && other.ColorSrc != null && ColorSrc.Equals(other.ColorSrc))); }