public override int GetHashCode() { unchecked { int hashCode = Name.GetHashCode(); hashCode = (hashCode * 397) ^ Function.GetHashCode(); hashCode = (hashCode * 397) ^ (AltFunction != null ? AltFunction.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (CtrlFunction != null ? CtrlFunction.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (ShiftFunction != null ? ShiftFunction.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (ComboFunction != null ? ComboFunction.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (Data != null ? Data.GetHashCode() : 0); hashCode = (hashCode * 397) ^ Color.GetHashCode(); return(hashCode); } }