示例#1
0
        public static IEqualityExpression <T> Equals <T, K>(this IEqualityDeclaration <T> parameters, Expression <Func <T, K?> > selector, bool nullInequal)
            where K : struct, IEquatable <K>
        {
            if (parameters == null)
            {
                throw new NullReferenceException();
            }
            if (selector == null)
            {
                throw new ArgumentNullException("selector");
            }

            return(new EqualityExpressionImpl <T>(EqualsCore(parameters.Parameters, selector, NullableEquality <K>(EquatableEquality <K>(), nullInequal))));
        }
示例#2
0
        public static IEqualityExpression <T> Equals <T, K>(this IEqualityDeclaration <T> parameters, Expression <Func <T, K> > selector, IEqualityComparer <K> equalityComparer)
        {
            if (parameters == null)
            {
                throw new NullReferenceException();
            }
            if (selector == null)
            {
                throw new ArgumentNullException("selector");
            }
            if (equalityComparer == null)
            {
                throw new ArgumentNullException("equalityComparer");
            }

            return(new EqualityExpressionImpl <T>(EqualsCore(parameters.Parameters, selector, ComparerEquality(equalityComparer))));
        }
示例#3
0
        public static IEqualityExpression <T> Equals <T, K>(this IEqualityDeclaration <T> parameters, Expression <Func <T, K> > selector, Expression <Equality <K> > equality, bool nullInequal)
            where K : class
        {
            if (parameters == null)
            {
                throw new NullReferenceException();
            }
            if (selector == null)
            {
                throw new ArgumentNullException("selector");
            }
            if (equality == null)
            {
                throw new ArgumentNullException("equality");
            }

            return(new EqualityExpressionImpl <T>(EqualsCore(parameters.Parameters, selector, ObjectEquality(equality, nullInequal))));
        }