/// <inheritdoc />
        public override int GetHashCode()
        {
            unchecked
            {
                var hashCode = (int)Width;
                hashCode = (hashCode * 397) ^ (int)Height;
                hashCode = (hashCode * 397) ^ (int)ColorDepth;
                hashCode = (hashCode * 397) ^ Timing.GetHashCode();
                hashCode = (hashCode * 397) ^ (int)ColorFormat;
                hashCode = (hashCode * 397) ^ XRatio.GetHashCode();
                hashCode = (hashCode * 397) ^ YRatio.GetHashCode();

                return(hashCode);
            }
        }
        /// <inheritdoc />
        public bool Equals(CustomResolution other)
        {
            if (ReferenceEquals(null, other))
            {
                return(false);
            }

            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            return(Width == other.Width &&
                   Height == other.Height &&
                   ColorDepth == other.ColorDepth &&
                   Timing.Equals(other.Timing) &&
                   ColorFormat == other.ColorFormat &&
                   XRatio.Equals(other.XRatio) &&
                   YRatio.Equals(other.YRatio));
        }