Fork me on GitHubEpicdominant domains
APIEpic.SpecificationsSpecificationBase<(Of <(<'TSpecification, Candidate1, Candidate2>)>)>

SpecificationBase<(Of <(<'TSpecification, Candidate1, Candidate2>)>)>
Base class for specifications that can be satisfied by Candidate1 and by Candidate2.
Inheritance Hierarchy
Object
VisitableBase
 SpecificationBase<(Of <(<'TSpecification, Candidate1>)>)>
  SpecificationBase<(Of <(<'TSpecification, Candidate1, Candidate2>)>)>

Assembly: Epic.Prelude

Declaration Syntax
C#
[SerializableAttribute]
public abstract class SpecificationBase<TSpecification, Candidate1, Candidate2> : SpecificationBase<TSpecification, Candidate1>, 
	ISpecification<Candidate2>, IEquatable<ISpecification<Candidate2>>, 
	ISpecification, IVisitable, IMapping<Candidate2, bool>
where TSpecification : class, Object, ISpecification<Candidate1>, ISpecification<Candidate2>, IEquatable<TSpecification>
where Candidate1 : class
where Candidate2 : class
Generic Template Parameters
TSpecification
Type of the specification implemented.
Candidate1
First type of the candidates to satisfy the specification.
Candidate2
Second type of the candidates to satisfy the specification.
Remarks

The constructor throws InvalidOperationException if the instance produced is not assignable from TSpecification.

Moreover, the type initializer throws InvalidOperationException if either Candidate1 or Candidate2 are Object.

Members
All MembersConstructorsMethods   



MemberDescription
SpecificationBase<(Of <(<'TSpecification, Candidate1, Candidate2>)>)>()()()()
Initializes a new instance of the SpecificationBase<(Of <(<'TSpecification, Candidate1, Candidate2>)>)> class
And(ISpecification<(Of <<'(Candidate2>)>>))
Create a new ISpecification<(Of <(<'TCandidate>)>)> that evaluates the other only if the current specification is satisfied.
AndAlso(ISpecification<(Of <<'(Candidate2>)>>))
Create a new Conjunction<(Of <(<'TCandidate>)>)> that evaluates the other only if the current specification is satisfied.
BuildNegation(ISpecification<(Of <<'(Candidate2>)>>)%)
Builds a negation of the current specification, assigning negatedSpecification.
Equals(ISpecification<(Of <<'(Candidate2>)>>))
Determines whether the specified ISpecification<(Of <(<'TCandidate>)>)> is equal to the current specification.
IsSatisfiedBy(Candidate2)
Determines whether this specification is satisfied by the specified candidate.
IsSatisfiedByA(Candidate2)
Determines whether this specification is satisfied by a the specified candidate.
Or(ISpecification<(Of <<'(Candidate2>)>>))
Create a new ISpecification<(Of <(<'TCandidate>)>)> that evaluates the other only if the current specification is not satisfied.
OrElse(ISpecification<(Of <<'(Candidate2>)>>))
Create a new Disjunction<(Of <(<'TCandidate>)>)> that evaluates the other only if the current specification is not satisfied.
blog comments powered by Disqus