Class Spec
- Namespace
- Motiv
- Assembly
- Motiv.dll
Creates propositions using a fluent API.
[FluentRoot]
public static class Spec
- Inheritance
-
Spec
- Inherited Members
Methods
BuildAsync<TModel>(in Func<TModel, CancellationToken, Task<bool>>)
The async predicate function that evaluates the model to a boolean value.
<xref href="Motiv.BooleanPredicateProposition.PropositionBuilders.AsyncExplanationWithNamePropositionFactory%601" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.BooleanPredicateProposition.PropositionBuilders.AsyncMetadataPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.BooleanPredicateProposition.PropositionBuilders.AsyncMinimalBooleanPredicatePropositionFactory%601" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.BooleanPredicateProposition.PropositionBuilders.AsyncMultiAssertionExplanationPropositionFactory%601" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.BooleanPredicateProposition.PropositionBuilders.AsyncMultiAssertionExplanationWithNamePropositionFactory%601" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.BooleanPredicateProposition.PropositionBuilders.AsyncMultiMetadataPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.BooleanPredicateProposition.PropositionBuilders.AsyncMultiMetadataWithSingularWhenTruePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
public static AsyncMinimalBooleanPredicatePropositionFactory<TModel> BuildAsync<TModel>(in Func<TModel, CancellationToken, Task<bool>> predicate)
Parameters
predicateFunc<TModel, CancellationToken, Task<bool>>
Returns
- AsyncMinimalBooleanPredicatePropositionFactory<TModel>
Type Parameters
TModel
BuildAsync<TModel>(in Func<TModel, Task<bool>>)
The async predicate function that evaluates the model to a boolean value.
<xref href="Motiv.BooleanPredicateProposition.PropositionBuilders.AsyncExplanationWithNamePropositionFactory%601" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.BooleanPredicateProposition.PropositionBuilders.AsyncMetadataPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.BooleanPredicateProposition.PropositionBuilders.AsyncMinimalBooleanPredicatePropositionFactory%601" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.BooleanPredicateProposition.PropositionBuilders.AsyncMultiAssertionExplanationPropositionFactory%601" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.BooleanPredicateProposition.PropositionBuilders.AsyncMultiAssertionExplanationWithNamePropositionFactory%601" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.BooleanPredicateProposition.PropositionBuilders.AsyncMultiMetadataPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.BooleanPredicateProposition.PropositionBuilders.AsyncMultiMetadataWithSingularWhenTruePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
public static AsyncMinimalBooleanPredicatePropositionFactory<TModel> BuildAsync<TModel>(in Func<TModel, Task<bool>> predicate)
Parameters
Returns
- AsyncMinimalBooleanPredicatePropositionFactory<TModel>
Type Parameters
TModel
Build<TModel>(in SpecBase<TModel, string>)
The proposition to decorate.
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.Spec.ExplanationFromSpecHigherOrderPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.Spec.ExplanationFromSpecWithNameHigherOrderPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.Spec.MetadataHigherOrderPropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.Spec.MinimalHigherOrderFromSpecPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Spec.MinimalSpecDecoratorFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Spec.MultiAssertionExplanationPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.Spec.MultiAssertionFromSpecHigherOrderPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.Spec.MultiAssertionFromSpecHigherOrderWithSingularWhenTruePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.Spec.MultiAssertionFromSpecWithNameHigherOrderPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Spec.MultiAssertionSpecExplanationWithNamePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.Spec.MultiMetadataFromSpecHigherOrderPropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.Spec.MultiMetadataFromSpecHigherOrderWithSingularWhenTruePropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Spec.MultiMetadataPropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Spec.MultiMetadataWithSingularWhenTruePropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Spec.NamedPolicyPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Spec.PropositionFactory%603" data-throw-if-not-resolved="false"></xref>
public static MinimalSpecDecoratorFactory<TModel, string> Build<TModel>(in SpecBase<TModel, string> spec)
Parameters
Returns
- MinimalSpecDecoratorFactory<TModel, string>
Type Parameters
TModel
Build<TModel>(in Func<SpecBase<TModel, string>>)
The proposition to decorate.
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.Spec.ExplanationFromSpecHigherOrderPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.Spec.ExplanationFromSpecWithNameHigherOrderPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.Spec.MetadataHigherOrderPropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.Spec.MinimalHigherOrderFromSpecPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Spec.MinimalSpecDecoratorFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Spec.MultiAssertionExplanationPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.Spec.MultiAssertionFromSpecHigherOrderPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.Spec.MultiAssertionFromSpecHigherOrderWithSingularWhenTruePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.Spec.MultiAssertionFromSpecWithNameHigherOrderPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Spec.MultiAssertionSpecExplanationWithNamePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.Spec.MultiMetadataFromSpecHigherOrderPropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.Spec.MultiMetadataFromSpecHigherOrderWithSingularWhenTruePropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Spec.MultiMetadataPropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Spec.MultiMetadataWithSingularWhenTruePropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Spec.NamedPolicyPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Spec.PropositionFactory%603" data-throw-if-not-resolved="false"></xref>
public static MinimalSpecDecoratorFactory<TModel, string> Build<TModel>(in Func<SpecBase<TModel, string>> specFactory)
Parameters
Returns
- MinimalSpecDecoratorFactory<TModel, string>
Type Parameters
TModel
Build<TModel>(in Func<TModel, bool>)
The predicate function that evaluates the model to a boolean value.
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.BooleanPredicate.ExplanationFromBooleanPredicateWithNameHigherOrderPropositionFactory%601" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.BooleanPredicateProposition.PropositionBuilders.ExplanationWithNamePropositionFactory%601" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.BooleanPredicate.MetadataFromBooleanHigherOrderPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.BooleanPredicateProposition.PropositionBuilders.MetadataPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.BooleanPredicateProposition.PropositionBuilders.MinimalBooleanPredicatePropositionFactory%601" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.BooleanPredicate.MinimalHigherOrderFromBooleanPredicatePropositionFactory%601" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.BooleanPredicate.MultiAssertionExplanationHigherOrderPropositionFactory%601" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.BooleanPredicateProposition.PropositionBuilders.MultiAssertionExplanationPropositionFactory%601" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.BooleanPredicate.MultiAssertionExplanationWithNameHigherOrderPropositionFactory%601" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.BooleanPredicateProposition.PropositionBuilders.MultiAssertionExplanationWithNamePropositionFactory%601" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.BooleanPredicate.MultiMetadataFromBooleanHigherOrderPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.BooleanPredicate.MultiMetadataFromBooleanHigherOrderWithSingularWhenTruePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.BooleanPredicateProposition.PropositionBuilders.MultiMetadataPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.BooleanPredicateProposition.PropositionBuilders.MultiMetadataWithSingularWhenTruePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
public static MinimalBooleanPredicatePropositionFactory<TModel> Build<TModel>(in Func<TModel, bool> predicate)
Parameters
Returns
- MinimalBooleanPredicatePropositionFactory<TModel>
Type Parameters
TModel
Build<TModel, TMetadata>(in PolicyBase<TModel, TMetadata>)
The specification to use for the proposition.
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.Policy.ExplanationFromPolicyHigherOrderPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.Policy.ExplanationFromPolicyWithNameHigherOrderPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.Policy.MetadataFromPolicyHigherOrderPropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Policy.MetadataPolicyFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.Policy.MinimalHigherOrderFromPolicyPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Policy.MinimalPolicyDecoratorFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Policy.MultiAssertionExplanationFromPolicyPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.Policy.MultiAssertionFromPolicyHigherOrderPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.Policy.MultiAssertionFromPolicyHigherOrderWithSingularWhenTruePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.Policy.MultiAssertionFromPolicyWithNameHigherOrderPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Policy.MultiAssertionPolicyExplanationWithNamePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.Policy.MultiMetadataFromPolicyHigherOrderPropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.Policy.MultiMetadataFromPolicyHigherOrderWithSingularWhenTruePropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Policy.MultiMetadataFromPolicyPropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Policy.MultiMetadataFromPolicyWithSingularWhenTruePropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Policy.NamedSpecPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
public static MinimalPolicyDecoratorFactory<TModel, TMetadata> Build<TModel, TMetadata>(in PolicyBase<TModel, TMetadata> policy)
Parameters
policyPolicyBase<TModel, TMetadata>
Returns
- MinimalPolicyDecoratorFactory<TModel, TMetadata>
Type Parameters
TModelTMetadata
Build<TModel, TMetadata>(in SpecBase<TModel, TMetadata>)
The proposition to decorate.
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.Spec.ExplanationFromSpecHigherOrderPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.Spec.ExplanationFromSpecWithNameHigherOrderPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.Spec.MetadataHigherOrderPropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.Spec.MinimalHigherOrderFromSpecPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Spec.MinimalSpecDecoratorFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Spec.MultiAssertionExplanationPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.Spec.MultiAssertionFromSpecHigherOrderPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.Spec.MultiAssertionFromSpecHigherOrderWithSingularWhenTruePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.Spec.MultiAssertionFromSpecWithNameHigherOrderPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Spec.MultiAssertionSpecExplanationWithNamePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.Spec.MultiMetadataFromSpecHigherOrderPropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.Spec.MultiMetadataFromSpecHigherOrderWithSingularWhenTruePropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Spec.MultiMetadataPropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Spec.MultiMetadataWithSingularWhenTruePropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Spec.NamedPolicyPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Spec.PropositionFactory%603" data-throw-if-not-resolved="false"></xref>
public static MinimalSpecDecoratorFactory<TModel, TMetadata> Build<TModel, TMetadata>(in SpecBase<TModel, TMetadata> spec)
Parameters
specSpecBase<TModel, TMetadata>
Returns
- MinimalSpecDecoratorFactory<TModel, TMetadata>
Type Parameters
TModelTMetadata
Build<TModel, TMetadata>(in Func<PolicyBase<TModel, TMetadata>>)
The specification to use for the proposition.
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.Policy.ExplanationFromPolicyHigherOrderPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.Policy.ExplanationFromPolicyWithNameHigherOrderPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.Policy.MetadataFromPolicyHigherOrderPropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Policy.MetadataPolicyFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.Policy.MinimalHigherOrderFromPolicyPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Policy.MinimalPolicyDecoratorFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Policy.MultiAssertionExplanationFromPolicyPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.Policy.MultiAssertionFromPolicyHigherOrderPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.Policy.MultiAssertionFromPolicyHigherOrderWithSingularWhenTruePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.Policy.MultiAssertionFromPolicyWithNameHigherOrderPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Policy.MultiAssertionPolicyExplanationWithNamePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.Policy.MultiMetadataFromPolicyHigherOrderPropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.Policy.MultiMetadataFromPolicyHigherOrderWithSingularWhenTruePropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Policy.MultiMetadataFromPolicyPropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Policy.MultiMetadataFromPolicyWithSingularWhenTruePropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Policy.NamedSpecPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
public static MinimalPolicyDecoratorFactory<TModel, TMetadata> Build<TModel, TMetadata>(in Func<PolicyBase<TModel, TMetadata>> policyFactory)
Parameters
policyFactoryFunc<PolicyBase<TModel, TMetadata>>
Returns
- MinimalPolicyDecoratorFactory<TModel, TMetadata>
Type Parameters
TModelTMetadata
Build<TModel, TMetadata>(in Func<SpecBase<TModel, TMetadata>>)
The proposition to decorate.
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.Spec.ExplanationFromSpecHigherOrderPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.Spec.ExplanationFromSpecWithNameHigherOrderPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.Spec.MetadataHigherOrderPropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.Spec.MinimalHigherOrderFromSpecPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Spec.MinimalSpecDecoratorFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Spec.MultiAssertionExplanationPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.Spec.MultiAssertionFromSpecHigherOrderPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.Spec.MultiAssertionFromSpecHigherOrderWithSingularWhenTruePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.Spec.MultiAssertionFromSpecWithNameHigherOrderPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Spec.MultiAssertionSpecExplanationWithNamePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.Spec.MultiMetadataFromSpecHigherOrderPropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.Spec.MultiMetadataFromSpecHigherOrderWithSingularWhenTruePropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Spec.MultiMetadataPropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Spec.MultiMetadataWithSingularWhenTruePropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Spec.NamedPolicyPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.DecoratorProposition.PropositionBuilders.Spec.PropositionFactory%603" data-throw-if-not-resolved="false"></xref>
public static MinimalSpecDecoratorFactory<TModel, TMetadata> Build<TModel, TMetadata>(in Func<SpecBase<TModel, TMetadata>> specFactory)
Parameters
Returns
- MinimalSpecDecoratorFactory<TModel, TMetadata>
Type Parameters
TModelTMetadata
Build<TModel, TMetadata>(in Func<TModel, BooleanResultBase<TMetadata>>)
The predicate function that evaluates the model to a .
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.BooleanResultPredicate.ExplanationFromBooleanResultWithNameHigherOrderPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.BooleanResultPredicate.MetadataFromBooleanResultHigherOrderPropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.BooleanResultPredicateProposition.PropositionBuilders.Spec.MetadataPropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.BooleanResultPredicateProposition.PropositionBuilders.Spec.MinimalBooleanResultPredicatePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.BooleanResultPredicate.MinimalHigherOrderFromBooleanResultPredicatePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.BooleanResultPredicate.MultiAssertionExplanationFromBooleanResultHigherOrderPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.BooleanResultPredicate.MultiAssertionExplanationFromBooleanResultWithNameHigherOrderPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.BooleanResultPredicateProposition.PropositionBuilders.Spec.MultiAssertionExplanationPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.BooleanResultPredicate.MultiMetadataFromBooleanResultHigherOrderPropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.BooleanResultPredicate.MultiMetadataFromBooleanResultHigherOrderWithSingularWhenTruePropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.BooleanResultPredicateProposition.PropositionBuilders.Spec.MultiMetadataPropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.BooleanResultPredicateProposition.PropositionBuilders.Spec.MultiMetadataWithSingularWhenTruePropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.BooleanResultPredicateProposition.PropositionBuilders.Spec.NamedMultiAssertionPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.BooleanResultPredicateProposition.PropositionBuilders.Spec.NamedPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
public static MinimalBooleanResultPredicatePropositionFactory<TModel, TMetadata> Build<TModel, TMetadata>(in Func<TModel, BooleanResultBase<TMetadata>> resultFactory)
Parameters
resultFactoryFunc<TModel, BooleanResultBase<TMetadata>>
Returns
- MinimalBooleanResultPredicatePropositionFactory<TModel, TMetadata>
Type Parameters
TModelTMetadata
Build<TModel, TMetadata>(in Func<TModel, PolicyResultBase<TMetadata>>)
The predicate to use for the specification.
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.PolicyResultPredicate.ExplanationFromPolicyResultHigherOrderPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.PolicyResultPredicateWithName.ExplanationFromPolicyResultWithNameHigherOrderPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.BooleanResultPredicateProposition.PropositionBuilders.Policy.ExplanationFromPolicyResultWithNamePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.PolicyResultPredicate.MetadataFromPolicyResultHigherOrderPropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.BooleanResultPredicateProposition.PropositionBuilders.Policy.MetadataFromPolicyResultPropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.BooleanResultPredicateProposition.PropositionBuilders.Policy.MinimalPolicyResultPredicatePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.PolicyResultPredicate.MultiAssertionExplanationFromPolicyResultHigherOrderPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.PolicyResultPredicate.MultiAssertionExplanationFromPolicyResultHigherOrderWithSingularWhenTruePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.PolicyResultPredicateWithName.MultiAssertionExplanationFromPolicyResultWithNameHigherOrderPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.BooleanResultPredicateProposition.PropositionBuilders.Policy.MultiAssertionPolicyPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.PolicyResultPredicate.MultiMetadataFromPolicyResultHigherOrderPropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.PolicyResultPredicate.MultiMetadataFromPolicyResultHigherOrderWithSingularWhenTruePropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.BooleanResultPredicateProposition.PropositionBuilders.Policy.MultiMetadataFromPolicyResultPropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.BooleanResultPredicateProposition.PropositionBuilders.Policy.MultiMetadataFromPolicyResultWithSingularWhenTruePropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.BooleanResultPredicateProposition.PropositionBuilders.Policy.NamedMultiAssertionPolicyPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.PolicyResultPredicate.TrueHigherOrderFromPolicyResultPredicatePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
public static MinimalPolicyResultPredicatePropositionFactory<TModel, TMetadata> Build<TModel, TMetadata>(in Func<TModel, PolicyResultBase<TMetadata>> resultFactory)
Parameters
resultFactoryFunc<TModel, PolicyResultBase<TMetadata>>
Returns
- MinimalPolicyResultPredicatePropositionFactory<TModel, TMetadata>
Type Parameters
TModelTMetadata
From<TModel>(in Expression<Func<TModel, bool>>)
The expression to use for the specification.
<xref href="Motiv.ExpressionTreeProposition.PropositionBuilders.BooleanExplanationExpressionTreePropositionFactory%601" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.ExpressionTree.BooleanExplanationHigherOrderExpressionTreePropositionFactory%601" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.ExpressionTreeProposition.PropositionBuilders.BooleanExplanationWithNameExpressionTreePropositionFactory%601" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.ExpressionTree.BooleanExplanationWithNameHigherOrderExpressionTreePropositionFactory%601" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.ExpressionTreeProposition.PropositionBuilders.BooleanMetadataExpressionTreePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.ExpressionTree.BooleanMetadataHigherOrderExpressionTreePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.ExpressionTreeProposition.PropositionBuilders.BooleanMinimalExpressionTreePropositionFactory%601" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.ExpressionTreeProposition.PropositionBuilders.BooleanMultiAssertionExplanationExpressionTreePropositionFactory%601" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.ExpressionTree.BooleanMultiAssertionExplanationFromBooleanResultHigherOrderExpressionTreePropositionFactory%601" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.ExpressionTree.BooleanMultiAssertionExplanationFromBooleanResultWithNameHigherOrderExpressionTreePropositionFactory%601" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.ExpressionTreeProposition.PropositionBuilders.BooleanMultiAssertionExplanationWithNameExpressionTreePropositionFactory%601" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.ExpressionTreeProposition.PropositionBuilders.BooleanMultiAssertionExplanationWithSingularWhenTrueExpressionTreePropositionFactory%601" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.ExpressionTree.BooleanMultiMetadataFromSpecHigherOrderExpressionTreePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.ExpressionTree.BooleanMultiMetadataFromSpecHigherOrderWithSingularWhenTrueExpressionTreePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.ExpressionTreeProposition.PropositionBuilders.BooleanMultiMetadataPropositionExpressionTreeFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.ExpressionTreeProposition.PropositionBuilders.BooleanMultiMetadataWithSingularWhenTruePropositionExpressionTreeFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.ExpressionTree.BooleanTrueExpressionTreeHigherOrderFromSpecPropositionFactory%601" data-throw-if-not-resolved="false"></xref>
public static BooleanMinimalExpressionTreePropositionFactory<TModel> From<TModel>(in Expression<Func<TModel, bool>> expression)
Parameters
expressionExpression<Func<TModel, bool>>
Returns
- BooleanMinimalExpressionTreePropositionFactory<TModel>
Type Parameters
TModel
From<TModel, TPredicateResult>(in Expression<Func<TModel, TPredicateResult>>)
The expression to use for the specification.
<xref href="Motiv.ExpressionTreeProposition.PropositionBuilders.ExplanationExpressionTreePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.ExpressionTree.ExplanationHigherOrderExpressionTreePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.ExpressionTreeProposition.PropositionBuilders.ExplanationWithNameExpressionTreePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.ExpressionTree.ExplanationWithNameHigherOrderExpressionTreePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.ExpressionTreeProposition.PropositionBuilders.MetadataExpressionTreePropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.ExpressionTree.MetadataHigherOrderExpressionTreePropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.ExpressionTreeProposition.PropositionBuilders.MinimalExpressionTreePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.ExpressionTreeProposition.PropositionBuilders.MultiAssertionExplanationExpressionTreePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.ExpressionTree.MultiAssertionExplanationFromBooleanResultHigherOrderExpressionTreePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Explanation.ExpressionTree.MultiAssertionExplanationFromBooleanResultWithNameHigherOrderExpressionTreePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.ExpressionTreeProposition.PropositionBuilders.MultiAssertionExplanationWithNameExpressionTreePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.ExpressionTreeProposition.PropositionBuilders.MultiAssertionExplanationWithSingularWhenTrueExpressionTreePropositionFactory%602" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.ExpressionTree.MultiMetadataFromSpecHigherOrderExpressionTreePropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.ExpressionTree.MultiMetadataFromSpecHigherOrderWithSingularWhenTrueExpressionTreePropositionFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.ExpressionTreeProposition.PropositionBuilders.MultiMetadataPropositionExpressionTreeFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.ExpressionTreeProposition.PropositionBuilders.MultiMetadataWithSingularWhenTruePropositionExpressionTreeFactory%603" data-throw-if-not-resolved="false"></xref>
<xref href="Motiv.HigherOrderProposition.PropositionBuilders.Metadata.ExpressionTree.TrueExpressionTreeHigherOrderFromSpecPropositionFactory%602" data-throw-if-not-resolved="false"></xref>
public static MinimalExpressionTreePropositionFactory<TModel, TPredicateResult> From<TModel, TPredicateResult>(in Expression<Func<TModel, TPredicateResult>> expression)
Parameters
expressionExpression<Func<TModel, TPredicateResult>>
Returns
- MinimalExpressionTreePropositionFactory<TModel, TPredicateResult>
Type Parameters
TModelTPredicateResult