Beispiel #1
0
 /// <summary>
 /// Gets a new specification expression which corresponds to the logical
 /// negation of the specified object: <c>NOT</c>.
 /// </summary>
 /// <returns>A specification expression.</returns>
 /// <param name="spec">A specification expression.</param>
 /// <typeparam name="T">The generic type of the specification.</typeparam>
 public static ISpecificationExpression <T> Not <T>(this ISpecificationExpression <T> spec)
 {
     return(Spec.Expr(spec.GetExpressionOrThrow().Not()));
 }
        /// <summary>
        /// Gets a new specification function which corresponds to the logical
        /// negation of the specified object: <c>NOT</c>.
        /// </summary>
        /// <returns>A specification function.</returns>
        /// <param name="spec">A specification function.</param>
        /// <typeparam name="T">The generic type of the specification.</typeparam>
        public static ISpecificationFunction <T> Not <T>(this ISpecificationFunction <T> spec)
        {
            var func = GetFunction(spec);

            return(Spec.Func <T>(o => !func(o)));
        }
Beispiel #3
0
 /// <summary>
 /// Gets a specification function which copies the specified specification expression.
 /// </summary>
 /// <returns>A specification function.</returns>
 /// <param name="spec">A specification expression.</param>
 /// <typeparam name="T">The generic type of the specification.</typeparam>
 public static ISpecificationFunction <T> AsSpecificationFunction <T>(this ISpecificationExpression <T> spec)
 {
     return(Spec.Func(spec.GetFunction()));
 }