using System; namespace ZeroLevel.Specification { public class CurrySpecification : BaseSpecification { private readonly Func _selector; private readonly R _value; public CurrySpecification(Func selector, R val) { _selector = selector; _value = val; } public override bool IsSatisfiedBy(T o) { return _selector(o)?.Equals(_value) ?? false; } } }