public override int GetHashCode()
        {
            int hash = 1;

            if (detailsCase_ == DetailsOneofCase.ListElementType)
            {
                hash ^= ListElementType.GetHashCode();
            }
            if (detailsCase_ == DetailsOneofCase.StructType)
            {
                hash ^= StructType.GetHashCode();
            }
            if (detailsCase_ == DetailsOneofCase.TimeFormat)
            {
                hash ^= TimeFormat.GetHashCode();
            }
            if (TypeCode != global::Google.Cloud.Automl.V1Beta1.TypeCode.Unspecified)
            {
                hash ^= TypeCode.GetHashCode();
            }
            if (Nullable != false)
            {
                hash ^= Nullable.GetHashCode();
            }
            hash ^= (int)detailsCase_;
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
        /// <summary>
        /// Получение хэша для группировки допуслуг.
        /// Группировка производится относительноп пассажира и данных допуслуги
        /// </summary>
        /// <returns>Хэш группировки</returns>
        public int ComputeGroupingHashCode()
        {
            // Если в клиентском коде не была указана ссылка на пассажира, заваливаем вычесление
            // т.к. без указания ссылки на пассажира хэш не будет валидным
            if (TravellerRef.Count == 0)
            {
                throw new ArgumentException("TravellerRef");
            }

            if (Name == null)
            {
                throw new ArgumentException("Name");
            }

            if (RFIC == null)
            {
                throw new ArgumentException("RFIC");
            }

            if (RFISC == null)
            {
                throw new ArgumentException("RFISC");
            }

            if (CompanyCode == null)
            {
                throw new ArgumentException("CompanyCode");
            }

            unchecked
            {
                var hash =
                    TravellerRef[0] +
                    Name.GetHashCode() +
                    RFIC.GetHashCode() +
                    RFISC.GetHashCode() +
                    IsFree.GetHashCode() +
                    Status.GetHashCode() +
                    CompanyCode.GetHashCode();

                if (SSRCode != null)
                {
                    hash += SSRCode.GetHashCode();
                }

                if (SSRText != null)
                {
                    hash += SSRText.GetHashCode();
                }

                if (TypeCode != null)
                {
                    hash += TypeCode.GetHashCode();
                }

                return(hash);
            }
        }
        /// <summary>
        /// Compute a hash code for the value.
        /// </summary>
        /// <returns>A hash code.</returns>
        public override unsafe int GetHashCode()
        {
            unchecked
            {
                fixed(double *valuePtr = &m_DoubleValue)
                {
                    var hashCode = m_Type.GetHashCode();

                    hashCode = (hashCode * 397) ^ valuePtr->GetHashCode();
                    return(hashCode);
                }
            }
        }
示例#4
0
        public override int GetHashCode()
        {
            var hash = -1521134295;

            hash = hash * -1521134295 + TypeCode.GetHashCode();

            int vhash;

            switch (TypeCode)
            {
            case DataCenterTypeCode.None:
                vhash = 0;
                break;

            case DataCenterTypeCode.Int32:
                vhash = AsInt32.GetHashCode();
                break;

            case DataCenterTypeCode.Single:
                vhash = AsSingle.GetHashCode();
                break;

            case DataCenterTypeCode.String:
                vhash = AsString.GetHashCode();
                break;

            case DataCenterTypeCode.Boolean:
                vhash = AsBoolean.GetHashCode();
                break;

            default:
                throw Assert.Unreachable();
            }

            hash = hash * -1521134295 + vhash;

            return(hash);
        }
示例#5
0
 /// <inheritdoc/>
 public override int GetHashCode()
 {
     return(TypeCode.GetHashCode());
 }
示例#6
0
 public override int GetHashCode()
 {
     return((TypeCode.GetHashCode() * Scale) + Size.GetHashCode());
 }
示例#7
0
 public override int GetHashCode()
 {
     return((TypeCode.GetHashCode() * Scale) + Precision.GetHashCode());
 }