Example #1
0
        private static bool AreFieldValuesEqual(object fieldValue1, object fieldValue2)
        {
            if (fieldValue1 == fieldValue2)
            {
                return(true);
            }
            bool flag  = fieldValue1 == null;
            bool flag2 = fieldValue2 == null;

            if (flag & flag2)
            {
                return(true);
            }
            if (flag | flag2)
            {
                return(false);
            }
            if (fieldValue1.GetType() != fieldValue2.GetType())
            {
                return(false);
            }
            if ((fieldValue1 is IEnumerable) && (fieldValue2 is IEnumerable))
            {
                return(((IEnumerable)fieldValue1).Cast <object>().SequenceEqual <object>(((IEnumerable)fieldValue2).Cast <object>()));
            }
            return(EquatableUtil.Equals(fieldValue1, fieldValue2));
        }
Example #2
0
 public override unsafe bool Equals(object obj) =>
 EquatableUtil.Equals <TupleStruct <T1, T2, T3, T4, T5, T6>, object>(*((TupleStruct <T1, T2, T3, T4, T5, T6> *) this), obj);
Example #3
0
 public override bool Equals(object obj) =>
 EquatableUtil.Equals <ReferenceValue, object>(this, obj);
Example #4
0
 public override bool Equals(object obj) =>
 EquatableUtil.Equals <ScaleFactor, object>(this, obj);