public override int GetHashCode() { unchecked { var hashCode = Battery?.GetHashCode() ?? 0; hashCode = (hashCode * 397) ^ (Cammode?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ RemainCapacity; hashCode = (hashCode * 397) ^ (int)SdCardStatus; hashCode = (hashCode * 397) ^ (int)SdMemory; hashCode = (hashCode * 397) ^ VideoRemainCapacity; hashCode = (hashCode * 397) ^ (int)Rec; hashCode = (hashCode * 397) ^ (BurstIntervalStatus?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ (int)SdAccess; hashCode = (hashCode * 397) ^ (int)RemainDisplayType; hashCode = (hashCode * 397) ^ ProgressTime; hashCode = (hashCode * 397) ^ (Operate?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ StopMotionNum; hashCode = (hashCode * 397) ^ (int)StopMotion; hashCode = (hashCode * 397) ^ (Temperature?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ (Lens?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ (int)AddLocationData; hashCode = (hashCode * 397) ^ (int)IntervalStatus; hashCode = (hashCode * 397) ^ (SdiState?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ (WarnDisp?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ (Version?.GetHashCode() ?? 0); return(hashCode); } }