CompositeSpecification.cs 1.0 KB

123456789101112131415161718192021222324252627282930
  1. namespace Abp.Specifications
  2. {
  3. /// <summary>
  4. /// Represents the base class for composite specifications.
  5. /// </summary>
  6. /// <typeparam name="T">The type of the object to which the specification is applied.</typeparam>
  7. public abstract class CompositeSpecification<T> : Specification<T>, ICompositeSpecification<T>
  8. {
  9. /// <summary>
  10. /// Gets the first specification.
  11. /// </summary>
  12. public ISpecification<T> Left { get; }
  13. /// <summary>
  14. /// Gets the second specification.
  15. /// </summary>
  16. public ISpecification<T> Right { get; }
  17. /// <summary>
  18. /// Constructs a new instance of <see cref="CompositeSpecification{T}"/> class.
  19. /// </summary>
  20. /// <param name="left">The first specification.</param>
  21. /// <param name="right">The second specification.</param>
  22. protected CompositeSpecification(ISpecification<T> left, ISpecification<T> right)
  23. {
  24. Left = left;
  25. Right = right;
  26. }
  27. }
  28. }