using System.Runtime.Serialization; namespace ZeroLevel.Specification { [DataContract] public class NotSpecification : BaseSpecification { [DataMember] private ISpecification _specification; public NotSpecification(ISpecification specification) { this._specification = specification; } public override bool IsSatisfiedBy(T o) { return !this._specification.IsSatisfiedBy(o); } } }