From df94532fd20b8e41ae997cd7c6b8aa8100bdfc01 Mon Sep 17 00:00:00 2001 From: Fati Iseni Date: Sun, 20 Feb 2022 15:04:29 +0100 Subject: [PATCH 1/2] Added dictionary as arbitrary state for specifications. --- Specification/src/Ardalis.Specification/ISpecification.cs | 5 +++++ Specification/src/Ardalis.Specification/Specification.cs | 3 +++ 2 files changed, 8 insertions(+) diff --git a/Specification/src/Ardalis.Specification/ISpecification.cs b/Specification/src/Ardalis.Specification/ISpecification.cs index 9a57af04..ba92eff7 100644 --- a/Specification/src/Ardalis.Specification/ISpecification.cs +++ b/Specification/src/Ardalis.Specification/ISpecification.cs @@ -31,6 +31,11 @@ public interface ISpecification : ISpecification /// The type being queried against. public interface ISpecification { + /// + /// Arbitrary state to be accessed from builders and evaluators. + /// + IDictionary Items { get; set; } + /// /// The collection of filters. /// diff --git a/Specification/src/Ardalis.Specification/Specification.cs b/Specification/src/Ardalis.Specification/Specification.cs index d32dc03b..b88931a7 100644 --- a/Specification/src/Ardalis.Specification/Specification.cs +++ b/Specification/src/Ardalis.Specification/Specification.cs @@ -73,6 +73,9 @@ public virtual bool IsSatisfiedBy(T entity) return Validator.IsValid(entity, this); } + /// + public IDictionary Items { get; set; } + /// public IEnumerable> WhereExpressions { get; } = new List>(); From 32101f11e48e3f87adcfea621d383b1a5a25cf0c Mon Sep 17 00:00:00 2001 From: Fati Iseni Date: Sun, 20 Feb 2022 15:14:11 +0100 Subject: [PATCH 2/2] Initialize the Items dictionary. --- Specification/src/Ardalis.Specification/Specification.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Specification/src/Ardalis.Specification/Specification.cs b/Specification/src/Ardalis.Specification/Specification.cs index b88931a7..0e414367 100644 --- a/Specification/src/Ardalis.Specification/Specification.cs +++ b/Specification/src/Ardalis.Specification/Specification.cs @@ -74,7 +74,7 @@ public virtual bool IsSatisfiedBy(T entity) } /// - public IDictionary Items { get; set; } + public IDictionary Items { get; set; } = new Dictionary(); /// public IEnumerable> WhereExpressions { get; } = new List>();