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

SpecificationBase<(Of <(<'TSpecification, Candidate>)>)>
Base class for specifications of Candidate.

Assembly: Epic.Prelude

Declaration Syntax
C#
[SerializableAttribute]
public abstract class SpecificationBase<TSpecification, Candidate> : VisitableBase, 
	ISpecification<Candidate>, IEquatable<ISpecification<Candidate>>, ISpecification, 
	IVisitable, IMapping<Candidate, bool>
where TSpecification : class, Object, ISpecification<Candidate>, IEquatable<TSpecification>
where Candidate : class
Generic Template Parameters
TSpecification
Type of the specification implemented.
Candidate
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 Candidate is Object or TSpecification is ISpecification<(Of <(<'TCandidate>)>)>

Members
All MembersConstructorsMethodsProperties  



MemberDescription
SpecificationBase<(Of <(<'TSpecification, Candidate>)>)>()()()()
Initializes a new instance of the SpecificationBase<(Of <(<'TSpecification, Candidate>)>)> class.
Accept<(Of <<'(TResult>)>>)(IVisitor<(Of <<'(TResult>)>>), IVisitContext)
Accept the specified visitor and context as a TSpecification.
(Overrides VisitableBase.Accept<(Of <<'(TResult>)>>)(IVisitor<(Of <<'(TResult>)>>), IVisitContext).)
And(ISpecification<(Of <<'(Candidate>)>>))
Create a new ISpecification<(Of <(<'TCandidate>)>)> that evaluates the other only if the current specification is satisfied.
AndAlso(ISpecification<(Of <<'(Candidate>)>>))
Create a new Conjunction<(Of <(<'TCandidate>)>)> that evaluates the other only if the current specification is satisfied.
BuildNegation(ISpecification<(Of <<'(Candidate>)>>)%)
Builds a negation of the current specification, assigning negatedSpecification.
Equals(ISpecification<(Of <<'(Candidate>)>>))
Determines whether the specified ISpecification<(Of <(<'TCandidate>)>)> is equal to the current SpecificationBase<(Of <(<'TSpecification, Candidate>)>)>.
Equals(Object)
Determines whether the specified Object is equal to the current SpecificationBase<(Of <(<'TSpecification, Candidate>)>)>.
(Overrides Object.Equals(Object).)
Equals(TSpecification)
Determines whether the specified TSpecification is equal to the current SpecificationBase<(Of <(<'TSpecification, Candidate>)>)>.
EqualsA(TSpecification)
Determines whether the specified TSpecification is equal to the current SpecificationBase<(Of <(<'TSpecification, Candidate>)>)>.
FirstCandidateType
Gets the first type of candidates that can satisfy the current specification.
GetHashCode()()()()
Serves as a hash function for a SpecificationBase<(Of <(<'TSpecification, Candidate>)>)> object.
(Overrides Object.GetHashCode()()()().)
IsSatisfiedBy(Candidate)
Check if the Candidate satisfy the specification.
IsSatisfiedByA(Candidate)
Determines whether this specification is satisfied by a the specified candidate.
Negate()()()()
Create a new Negation<(Of <(<'TCandidate>)>)> that is satisfied if and only if the current specification is not satisfied.
OfAnotherType<(Of <<'(Other>)>>)()()()()
Return a specifications satisfied by Other that satisfy this specification.
OfType<(Of <<'(Other>)>>)()()()()
Create a new Variant<(Of <(<'FromCandidate, ToCandidate>)>)> that is satisfied by all the Other that are Other and satisfy the current specification.
Or(ISpecification<(Of <<'(Candidate>)>>))
Create a new ISpecification<(Of <(<'TCandidate>)>)> that evaluates the other only if the current specification is not satisfied.
OrElse(ISpecification<(Of <<'(Candidate>)>>))
Create a new Disjunction<(Of <(<'TCandidate>)>)> that evaluates the other only if the current specification is not satisfied.
SpecificationType
Gets the type of the specification.
ThrowIfNull<(Of <<'(T>)>>)(ISpecification<(Of <<'(T>)>>))
Throws ArgumentNullException if other is nullNothingnullptr.
blog comments powered by Disqus