示例#1
0
        public override int GetHashCode()
        {
            int hashCode;
            int num2;
            int num3;

            if (!Triple <T1, T2, T3> .t1IsValueType && (this.first == null))
            {
                hashCode = 0;
            }
            else
            {
                hashCode = this.first.GetHashCode();
            }
            if (!Triple <T1, T2, T3> .t2IsValueType && (this.second == null))
            {
                num2 = 0;
            }
            else
            {
                num2 = this.second.GetHashCode();
            }
            if (!Triple <T1, T2, T3> .t3IsValueType && (this.third == null))
            {
                num3 = 0;
            }
            else
            {
                num3 = this.third.GetHashCode();
            }
            return(HashCodeUtil.CombineHashCodes(hashCode, num2, num3));
        }
示例#2
0
        public override int GetHashCode()
        {
            int hashCode;
            int num2;
            int num3;

            if (!TupleStruct <T1, T2, T3> .item1IsValueType && (this.item1 == null))
            {
                hashCode = 0;
            }
            else
            {
                hashCode = TupleStruct <T1, T2, T3> .item1Comparer.GetHashCode(this.item1);
            }
            if (!TupleStruct <T1, T2, T3> .item2IsValueType && (this.item2 == null))
            {
                num2 = 0;
            }
            else
            {
                num2 = TupleStruct <T1, T2, T3> .item2Comparer.GetHashCode(this.item2);
            }
            if (!TupleStruct <T1, T2, T3> .item3IsValueType && (this.item3 == null))
            {
                num3 = 0;
            }
            else
            {
                num3 = TupleStruct <T1, T2, T3> .item3Comparer.GetHashCode(this.item3);
            }
            return(HashCodeUtil.CombineHashCodes(hashCode, num2, num3));
        }
示例#3
0
        public override int GetHashCode()
        {
            int hashCode;
            int num2;
            int num3;
            int num4;
            int num5;
            int num6;

            if (!TupleStruct <T1, T2, T3, T4, T5, T6> .item1IsValueType && (this.item1 == null))
            {
                hashCode = 0;
            }
            else
            {
                hashCode = TupleStruct <T1, T2, T3, T4, T5, T6> .item1Comparer.GetHashCode(this.item1);
            }
            if (!TupleStruct <T1, T2, T3, T4, T5, T6> .item2IsValueType && (this.item2 == null))
            {
                num2 = 0;
            }
            else
            {
                num2 = TupleStruct <T1, T2, T3, T4, T5, T6> .item2Comparer.GetHashCode(this.item2);
            }
            if (!TupleStruct <T1, T2, T3, T4, T5, T6> .item3IsValueType && (this.item3 == null))
            {
                num3 = 0;
            }
            else
            {
                num3 = TupleStruct <T1, T2, T3, T4, T5, T6> .item3Comparer.GetHashCode(this.item3);
            }
            if (!TupleStruct <T1, T2, T3, T4, T5, T6> .item4IsValueType && (this.item4 == null))
            {
                num4 = 0;
            }
            else
            {
                num4 = TupleStruct <T1, T2, T3, T4, T5, T6> .item4Comparer.GetHashCode(this.item4);
            }
            if (!TupleStruct <T1, T2, T3, T4, T5, T6> .item5IsValueType && (this.item5 == null))
            {
                num5 = 0;
            }
            else
            {
                num5 = TupleStruct <T1, T2, T3, T4, T5, T6> .item5Comparer.GetHashCode(this.item5);
            }
            if (!TupleStruct <T1, T2, T3, T4, T5, T6> .item6IsValueType && (this.item6 == null))
            {
                num6 = 0;
            }
            else
            {
                num6 = TupleStruct <T1, T2, T3, T4, T5, T6> .item6Comparer.GetHashCode(this.item6);
            }
            return(HashCodeUtil.CombineHashCodes(hashCode, num2, num3, num4, num5, num6));
        }
示例#4
0
 private static int CreateFieldHashCode(object fieldValue)
 {
     if (fieldValue == null)
     {
         return(0);
     }
     if (fieldValue is IEnumerable)
     {
         return(HashCodeUtil.CreateHashCode <object>(((IEnumerable)fieldValue).Cast <object>()));
     }
     return(fieldValue.GetHashCode());
 }
示例#5
0
        private int CalculateHashCodeViaReflection()
        {
            int num = 0;

            foreach (FieldInfo info in TypeUtil.GetAllFields(base.GetType()))
            {
                if (info.GetCustomAttributes(typeof(NonSerializedAttribute), true).Length == 0)
                {
                    int num2 = CreateFieldHashCode(info.GetValue(this));
                    num = HashCodeUtil.CombineHashCodes(num, num2);
                }
            }
            return(num);
        }
示例#6
0
        public override int GetHashCode()
        {
            int hashCode;
            int num2;

            if (!Pair <T1, T2> .t1IsValueType && (this.first == null))
            {
                hashCode = 0;
            }
            else
            {
                hashCode = this.first.GetHashCode();
            }
            if (!Pair <T1, T2> .t2IsValueType && (this.second == null))
            {
                num2 = 0;
            }
            else
            {
                num2 = this.second.GetHashCode();
            }
            return(HashCodeUtil.CombineHashCodes(hashCode, num2));
        }