在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → 基于Rete匹配算法的.NET规则引擎(使用C#内部DSL编写规则)

基于Rete匹配算法的.NET规则引擎(使用C#内部DSL编写规则)

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:0.85M
  • 下载次数:0
  • 浏览次数:11
  • 发布时间:2024-05-05
  • 实例类别:一般编程问题
  • 发 布 人:chenxiaolan
  • 文件格式:.zip
  • 所需积分:2
 相关标签:

实例介绍

【实例简介】

NRules是一个开源的.NET生产规则引擎,基于Rete匹配算法。规则使用C#内部DSL进行编写。

【实例截图】
【核心代码】
文件清单
└── NRules-8794a923105cfce27dd8394e26e218a654735a5d
    ├── appveyor.yml
    ├── bench
    │   └── NRules.Benchmark
    │       ├── NRules.Benchmark
    │       │   ├── Expressions
    │       │   │   ├── BenchmarkBase.cs
    │       │   │   ├── BenchmarkLhsExpression.cs
    │       │   │   └── BenchmarkRuleAction.cs
    │       │   ├── Meta
    │       │   │   ├── BenchmarkBase.cs
    │       │   │   ├── BenchmarkMultipleRules.cs
    │       │   │   ├── BenchmarkOneFactRule.cs
    │       │   │   ├── BenchmarkTwoFactAggregateRule.cs
    │       │   │   └── BenchmarkTwoFactJoinRule.cs
    │       │   ├── NRules.Benchmark.csproj
    │       │   └── Program.cs
    │       └── NRules.Benchmark.sln
    ├── build.bat
    ├── build.ps1
    ├── build.sh
    ├── CONTRIBUTING.md
    ├── DevSigningKey.sha1
    ├── DevSigningKey.snk
    ├── Directory.Build.props
    ├── Directory.Packages.props
    ├── docs
    │   ├── api
    │   │   └── index.md
    │   ├── apidoc
    │   │   ├── NRules.AgendaFilters.md
    │   │   ├── NRules.Aggregators.md
    │   │   ├── NRules.Diagnostics.Dgml.md
    │   │   ├── NRules.Diagnostics.md
    │   │   ├── NRules.Extensibility.md
    │   │   ├── NRules.Fluent.Dsl.md
    │   │   ├── NRules.Fluent.md
    │   │   ├── NRules.Integration.Autofac.md
    │   │   ├── NRules.Json.md
    │   │   ├── NRules.md
    │   │   ├── NRules.RuleModel.Builders.md
    │   │   ├── NRules.RuleModel.md
    │   │   └── NRules.Testing.md
    │   ├── articles
    │   │   ├── advanced
    │   │   │   ├── action-interceptor.md
    │   │   │   ├── expression-compiler.md
    │   │   │   ├── json-serialization.md
    │   │   │   ├── rule-builder.md
    │   │   │   └── toc.yml
    │   │   ├── agenda-filters.md
    │   │   ├── architecture.md
    │   │   ├── diagnostics.md
    │   │   ├── dsl-extensions.md
    │   │   ├── fluent-rules-dsl.md
    │   │   ├── fluent-rules-loading.md
    │   │   ├── forward-chaining.md
    │   │   ├── getting-started.md
    │   │   ├── reactive-linq-queries.md
    │   │   ├── rule-dependencies.md
    │   │   ├── toc.yml
    │   │   └── unit-testing-rules.md
    │   ├── docfx.json
    │   ├── filterConfig.yml
    │   ├── images
    │   │   ├── logo.png
    │   │   ├── NRules-Architecture.png
    │   │   ├── NRules-Components.png
    │   │   ├── NRules-Diagnostics-Visualizer-Performance.png
    │   │   ├── NRules-Diagnostics-Visualizer-Performance-Tooltip.png
    │   │   └── NRules-Diagnostics-Visualizer.png
    │   ├── index.md
    │   └── toc.yml
    ├── LICENSE.txt
    ├── README.md
    ├── samples
    │   ├── JsonRules
    │   │   ├── Domain
    │   │   │   ├── Customer.cs
    │   │   │   └── Order.cs
    │   │   ├── JsonRules.csproj
    │   │   ├── JsonRules.sln
    │   │   └── Program.cs
    │   ├── RuleBuilder
    │   │   ├── CustomRuleRepository.cs
    │   │   ├── Domain
    │   │   │   ├── Customer.cs
    │   │   │   └── Order.cs
    │   │   ├── Program.cs
    │   │   ├── RuleBuilder.csproj
    │   │   └── RuleBuilder.sln
    │   └── SimpleRules
    │       ├── Domain
    │       │   ├── Account.cs
    │       │   ├── Customer.cs
    │       │   └── Order.cs
    │       ├── Program.cs
    │       ├── Rules
    │       │   ├── ActiveCustomerAccountRule.cs
    │       │   ├── ActiveDelinquentAccountRule.cs
    │       │   ├── AllActiveAccountsRule.cs
    │       │   ├── DiscountNotificationRule.cs
    │       │   ├── ImportantCustomerRule.cs
    │       │   ├── LargeTotalRule.cs
    │       │   ├── MultipleOrdersRule.cs
    │       │   ├── NoActiveDelinquentAccountsRule.cs
    │       │   ├── OrderAmountCalculationRule.cs
    │       │   ├── OrdersByCustomerRule.cs
    │       │   └── PreferredCustomerDiscountRule.cs
    │       ├── SimpleRules.csproj
    │       └── SimpleRules.sln
    ├── SigningKey.snk
    ├── src
    │   ├── NRules
    │   │   ├── InternalsVisibleTo.props
    │   │   ├── NRules
    │   │   │   ├── ActionContext.cs
    │   │   │   ├── ActionExecutor.cs
    │   │   │   ├── ActionInvocation.cs
    │   │   │   ├── Activation.cs
    │   │   │   ├── ActivationQueue.cs
    │   │   │   ├── Agenda.cs
    │   │   │   ├── AgendaExpressionEvaluationException.cs
    │   │   │   ├── AgendaFilters
    │   │   │   │   ├── ActivationExpression.cs
    │   │   │   │   ├── AgendaContext.cs
    │   │   │   │   ├── IAgendaFilter.cs
    │   │   │   │   ├── IStatefulAgendaFilter.cs
    │   │   │   │   ├── KeyChangeAgendaFilter.cs
    │   │   │   │   └── PredicateAgendaFilter.cs
    │   │   │   ├── Aggregators
    │   │   │   │   ├── AggregateExpression.cs
    │   │   │   │   ├── AggregateExpressionExtensions.cs
    │   │   │   │   ├── AggregationContext.cs
    │   │   │   │   ├── AggregationResult.cs
    │   │   │   │   ├── AggregatorRegistry.cs
    │   │   │   │   ├── CollectionAggregator.cs
    │   │   │   │   ├── CollectionAggregatorFactory.cs
    │   │   │   │   ├── Collections
    │   │   │   │   │   ├── DefaultKeyMap.cs
    │   │   │   │   │   ├── FactCollection.cs
    │   │   │   │   │   ├── FactGrouping.cs
    │   │   │   │   │   ├── FactLookup.cs
    │   │   │   │   │   └── SortedFactCollection.cs
    │   │   │   │   ├── FlatteningAggregator.cs
    │   │   │   │   ├── FlatteningAggregatorFactory.cs
    │   │   │   │   ├── GroupByAggregator.cs
    │   │   │   │   ├── GroupByAggregatorFactory.cs
    │   │   │   │   ├── IAggregator.cs
    │   │   │   │   ├── IAggregatorFactory.cs
    │   │   │   │   ├── LookupAggregator.cs
    │   │   │   │   ├── MultiKeySortedAggregator.cs
    │   │   │   │   ├── ProjectionAggregator.cs
    │   │   │   │   ├── ProjectionAggregatorFactory.cs
    │   │   │   │   ├── SortCondition.cs
    │   │   │   │   └── SortedAggregator.cs
    │   │   │   ├── BatchOptions.cs
    │   │   │   ├── Collections
    │   │   │   │   ├── OrderedDictionary.cs
    │   │   │   │   ├── OrderedHashSet.cs
    │   │   │   │   ├── OrderedPriorityQueue.cs
    │   │   │   │   └── PriorityQueue.cs
    │   │   │   ├── CompiledRule.cs
    │   │   │   ├── Diagnostics
    │   │   │   │   ├── AgendaEventArgs.cs
    │   │   │   │   ├── AgendaExpressionErrorEventArgs.cs
    │   │   │   │   ├── AgendaExpressionEventArgs.cs
    │   │   │   │   ├── Dgml
    │   │   │   │   │   ├── Category.cs
    │   │   │   │   │   ├── Condition.cs
    │   │   │   │   │   ├── DgmlWriter.cs
    │   │   │   │   │   ├── DirectedGraph.cs
    │   │   │   │   │   ├── Link.cs
    │   │   │   │   │   ├── Node.cs
    │   │   │   │   │   ├── Property.cs
    │   │   │   │   │   ├── Setter.cs
    │   │   │   │   │   ├── Style.cs
    │   │   │   │   │   └── XmlWriterExtensions.cs
    │   │   │   │   ├── EventAggregator.cs
    │   │   │   │   ├── ExpressionEventArgs.cs
    │   │   │   │   ├── IRecoverableError.cs
    │   │   │   │   ├── ISessionSchemaProvider.cs
    │   │   │   │   ├── LhsExpressionErrorEventArgs.cs
    │   │   │   │   ├── LhsExpressionEventArgs.cs
    │   │   │   │   ├── MetricsAggregator.cs
    │   │   │   │   ├── NodeInfo.cs
    │   │   │   │   ├── NodeMetrics.cs
    │   │   │   │   ├── PerfCounter.cs
    │   │   │   │   ├── ReteGraph.cs
    │   │   │   │   ├── ReteLink.cs
    │   │   │   │   ├── ReteNode.cs
    │   │   │   │   ├── RhsExpressionErrorEventArgs.cs
    │   │   │   │   ├── RhsExpressionEventArgs.cs
    │   │   │   │   ├── SchemaBuilder.cs
    │   │   │   │   ├── SchemaReteVisitor.cs
    │   │   │   │   └── WorkingMemoryEventArgs.cs
    │   │   │   ├── ExecutionContext.cs
    │   │   │   ├── ExpressionEvaluationException.cs
    │   │   │   ├── Extensibility
    │   │   │   │   ├── DependencyResolver.cs
    │   │   │   │   ├── ExpressionCompiler.cs
    │   │   │   │   ├── IActionInterceptor.cs
    │   │   │   │   ├── IActionInvocation.cs
    │   │   │   │   └── ResolutionContext.cs
    │   │   │   ├── FactResult.cs
    │   │   │   ├── IdGenerator.cs
    │   │   │   ├── LinkedFactSet.cs
    │   │   │   ├── LinkedFactSource.cs
    │   │   │   ├── NRules.csproj
    │   │   │   ├── Rete
    │   │   │   │   ├── AggregateFactSource.cs
    │   │   │   │   ├── AggregateNode.cs
    │   │   │   │   ├── Aggregation.cs
    │   │   │   │   ├── AlphaMemory.cs
    │   │   │   │   ├── AlphaMemoryNode.cs
    │   │   │   │   ├── AlphaNode.cs
    │   │   │   │   ├── BetaMemory.cs
    │   │   │   │   ├── BetaMemoryNode.cs
    │   │   │   │   ├── BetaNode.cs
    │   │   │   │   ├── BinaryBetaNode.cs
    │   │   │   │   ├── BindingNode.cs
    │   │   │   │   ├── DummyNode.cs
    │   │   │   │   ├── ExistsNode.cs
    │   │   │   │   ├── FactAggregator.cs
    │   │   │   │   ├── Fact.cs
    │   │   │   │   ├── IndexMap.cs
    │   │   │   │   ├── INode.cs
    │   │   │   │   ├── IObjectSink.cs
    │   │   │   │   ├── IObjectSource.cs
    │   │   │   │   ├── ITupleSink.cs
    │   │   │   │   ├── ITupleSource.cs
    │   │   │   │   ├── JoinNode.cs
    │   │   │   │   ├── LhsExpression.cs
    │   │   │   │   ├── Network.cs
    │   │   │   │   ├── NotNode.cs
    │   │   │   │   ├── ObjectInputAdapter.cs
    │   │   │   │   ├── Quantifier.cs
    │   │   │   │   ├── ReteBuilderContext.cs
    │   │   │   │   ├── ReteBuilder.cs
    │   │   │   │   ├── ReteNodeVisitor.cs
    │   │   │   │   ├── RootNode.cs
    │   │   │   │   ├── RuleNode.cs
    │   │   │   │   ├── SelectionNode.cs
    │   │   │   │   ├── Terminal.cs
    │   │   │   │   ├── Tuple.cs
    │   │   │   │   ├── TupleExtensions.cs
    │   │   │   │   ├── TupleFactList.cs
    │   │   │   │   ├── TupleFactSet.cs
    │   │   │   │   └── TypeNode.cs
    │   │   │   ├── RuleAction.cs
    │   │   │   ├── RuleCompilationException.cs
    │   │   │   ├── RuleCompiler.cs
    │   │   │   ├── RuleCompilerOptions.cs
    │   │   │   ├── RuleExecutionException.cs
    │   │   │   ├── RuleExpressionEvaluationException.cs
    │   │   │   ├── RuleFilter.cs
    │   │   │   ├── RuleLhsExpressionEvaluationException.cs
    │   │   │   ├── RuleNormalization.cs
    │   │   │   ├── RuleRepositoryExtensions.cs
    │   │   │   ├── RuleRhsExpressionEvaluationException.cs
    │   │   │   ├── Session.cs
    │   │   │   ├── SessionFactory.cs
    │   │   │   ├── Utilities
    │   │   │   │   ├── ArgumentMap.cs
    │   │   │   │   ├── Arguments.cs
    │   │   │   │   ├── ExpressionComparer.cs
    │   │   │   │   ├── ExpressionElementComparer.cs
    │   │   │   │   ├── ExpressionOptimizer.cs
    │   │   │   │   ├── IndexMapExtensions.cs
    │   │   │   │   ├── ReverseComparer.cs
    │   │   │   │   ├── RuleExpressionCompiler.cs
    │   │   │   │   └── TriggerExtensions.cs
    │   │   │   └── WorkingMemory.cs
    │   │   ├── NRules.Fluent
    │   │   │   ├── Dsl
    │   │   │   │   ├── ContextExtensions.cs
    │   │   │   │   ├── DescriptionAttribute.cs
    │   │   │   │   ├── IDependencyExpression.cs
    │   │   │   │   ├── IFilterExpression.cs
    │   │   │   │   ├── ILeftHandSideExpression.cs
    │   │   │   │   ├── IQueryBuilder.cs
    │   │   │   │   ├── IQuery.cs
    │   │   │   │   ├── IRightHandSideExpression.cs
    │   │   │   │   ├── NameAttribute.cs
    │   │   │   │   ├── PriorityAttribute.cs
    │   │   │   │   ├── QueryExpression.cs
    │   │   │   │   ├── QueryExtensions.cs
    │   │   │   │   ├── RepeatabilityAttribute.cs
    │   │   │   │   ├── Rule.cs
    │   │   │   │   └── TagAttribute.cs
    │   │   │   ├── EnumerableExtensions.cs
    │   │   │   ├── Expressions
    │   │   │   │   ├── BuilderExtensions.cs
    │   │   │   │   ├── DependencyExpression.cs
    │   │   │   │   ├── ExpressionExtensions.cs
    │   │   │   │   ├── ExpressionRewriter.cs
    │   │   │   │   ├── FilterExpression.cs
    │   │   │   │   ├── LeftHandSideExpression.cs
    │   │   │   │   ├── PatternExpressionRewriter.cs
    │   │   │   │   ├── QueryExpression.cs
    │   │   │   │   ├── RightHandSideExpression.cs
    │   │   │   │   ├── SymbolStack.cs
    │   │   │   │   └── SymbolTable.cs
    │   │   │   ├── NRules.Fluent.csproj
    │   │   │   ├── RuleActivationException.cs
    │   │   │   ├── RuleActivator.cs
    │   │   │   ├── RuleDefinitionException.cs
    │   │   │   ├── RuleDefinitionFactory.cs
    │   │   │   ├── RuleLoadSpec.cs
    │   │   │   ├── RuleMetadata.cs
    │   │   │   ├── RuleMetadataExtensions.cs
    │   │   │   ├── RuleProperties.cs
    │   │   │   ├── RuleRepository.cs
    │   │   │   └── RuleTypeScanner.cs
    │   │   ├── NRules.Json
    │   │   │   ├── Converters
    │   │   │   │   ├── ExpressionConverter.cs
    │   │   │   │   ├── ExpressionElementConverter.cs
    │   │   │   │   ├── MemberBindingExtensions.cs
    │   │   │   │   ├── MemberExtensions.cs
    │   │   │   │   ├── RuleDefinitionConverter.cs
    │   │   │   │   ├── RuleElementConverter.cs
    │   │   │   │   ├── RulePropertyConverter.cs
    │   │   │   │   └── TypeConverter.cs
    │   │   │   ├── NRules.Json.csproj
    │   │   │   ├── RuleSerializer.cs
    │   │   │   ├── TypeAliasResolver.cs
    │   │   │   ├── TypeCache.cs
    │   │   │   ├── TypeResolver.cs
    │   │   │   └── Utilities
    │   │   │       ├── ExpressionExtensions.cs
    │   │   │       ├── ExpressionParameterCompactor.cs
    │   │   │       ├── JsonExtensions.cs
    │   │   │       ├── TypeName.cs
    │   │   │       └── TypeNameFormatter.cs
    │   │   ├── NRules.Meta
    │   │   │   └── NRules.Meta.csproj
    │   │   ├── NRules.RuleModel
    │   │   │   ├── ActionElement.cs
    │   │   │   ├── ActionGroupElement.cs
    │   │   │   ├── AggregateElement.cs
    │   │   │   ├── AndElement.cs
    │   │   │   ├── BindingElement.cs
    │   │   │   ├── Builders
    │   │   │   │   ├── ActionGroupBuilder.cs
    │   │   │   │   ├── AggregateBuilder.cs
    │   │   │   │   ├── BindingBuilder.cs
    │   │   │   │   ├── BuilderAdapter.cs
    │   │   │   │   ├── DependencyGroupBuilder.cs
    │   │   │   │   ├── Element.cs
    │   │   │   │   ├── ElementValidator.cs
    │   │   │   │   ├── ExistsBuilder.cs
    │   │   │   │   ├── FilterGroupBuilder.cs
    │   │   │   │   ├── ForAllBuilder.cs
    │   │   │   │   ├── GroupBuilder.cs
    │   │   │   │   ├── IBuilder.cs
    │   │   │   │   ├── NotBuilder.cs
    │   │   │   │   ├── PatternBuilder.cs
    │   │   │   │   ├── RuleBuilder.cs
    │   │   │   │   └── RuleElementBuilder.cs
    │   │   │   ├── Declaration.cs
    │   │   │   ├── DeclarationExtensions.cs
    │   │   │   ├── DependencyElement.cs
    │   │   │   ├── DependencyGroupElement.cs
    │   │   │   ├── ElementType.cs
    │   │   │   ├── EnumerableExtensions.cs
    │   │   │   ├── ExistsElement.cs
    │   │   │   ├── ExpressionCollection.cs
    │   │   │   ├── ExpressionElement.cs
    │   │   │   ├── FilterElement.cs
    │   │   │   ├── FilterGroupElement.cs
    │   │   │   ├── ForAllElement.cs
    │   │   │   ├── GroupElement.cs
    │   │   │   ├── IContext.cs
    │   │   │   ├── IFact.cs
    │   │   │   ├── IFactMatch.cs
    │   │   │   ├── IFactSource.cs
    │   │   │   ├── IKeyedLookup.cs
    │   │   │   ├── IMatch.cs
    │   │   │   ├── IRuleRepository.cs
    │   │   │   ├── ITuple.cs
    │   │   │   ├── NamedExpressionElement.cs
    │   │   │   ├── NotElement.cs
    │   │   │   ├── NRules.RuleModel.csproj
    │   │   │   ├── OrElement.cs
    │   │   │   ├── PatternElement.cs
    │   │   │   ├── PropertyMap.cs
    │   │   │   ├── RuleDefinition.cs
    │   │   │   ├── RuleElement.cs
    │   │   │   ├── RuleElementExtensions.cs
    │   │   │   ├── RuleElementVisitor.cs
    │   │   │   ├── RuleProperty.cs
    │   │   │   ├── RuleSet.cs
    │   │   │   ├── RuleSetExtensions.cs
    │   │   │   └── SortDirection.cs
    │   │   ├── NRules.sln
    │   │   ├── NRules.Testing
    │   │   │   ├── DefaultRuleAsserter.cs
    │   │   │   ├── FactConstraint.cs
    │   │   │   ├── IRuleAsserter.cs
    │   │   │   ├── Matched.cs
    │   │   │   ├── NRules.Testing.csproj
    │   │   │   ├── ReadOnlyListSlice.cs
    │   │   │   ├── RuleAssertResult.cs
    │   │   │   ├── RuleAssertStatus.cs
    │   │   │   ├── RuleExpectation.cs
    │   │   │   ├── RuleFiringVerification.cs
    │   │   │   ├── RuleInfo.cs
    │   │   │   ├── RuleInvocationRecorder.cs
    │   │   │   ├── RulesFiringVerification.cs
    │   │   │   ├── RulesTestFixture.cs
    │   │   │   ├── RulesTestHarness.cs
    │   │   │   ├── RulesTestSetup.cs
    │   │   │   ├── RulesUnderTest.cs
    │   │   │   ├── RulesVerification.cs
    │   │   │   └── Times.cs
    │   │   └── Tests
    │   │       ├── NRules.IntegrationTests
    │   │       │   ├── ActionInterceptorTest.cs
    │   │       │   ├── ActionTriggerTest.cs
    │   │       │   ├── AggregateEvaluationExceptionTest.cs
    │   │       │   ├── AggregateSubnetTest.cs
    │   │       │   ├── BatchedForwardChainingTest.cs
    │   │       │   ├── BindingEvaluationExceptionTest.cs
    │   │       │   ├── CoJoinedBindingAndQueryRuleTest.cs
    │   │       │   ├── CoJoinedCollectAndExistsRulesTest.cs
    │   │       │   ├── CollectionWithConditionsRuleTest.cs
    │   │       │   ├── CustomFirstAggregatorTest.cs
    │   │       │   ├── CustomSelectAggregatorTest.cs
    │   │       │   ├── EvaluationEventTest.cs
    │   │       │   ├── EvaluationExceptionTest.cs
    │   │       │   ├── ExpressionParameterOrderTest.cs
    │   │       │   ├── ForwardChainingLinkedTest.cs
    │   │       │   ├── ForwardChainingLinkedToSelfTest.cs
    │   │       │   ├── ForwardChainingTest.cs
    │   │       │   ├── ForwardChainingTransitiveTest.cs
    │   │       │   ├── FromQueryComplexReferenceTest.cs
    │   │       │   ├── FromQueryDoubleReferenceTest.cs
    │   │       │   ├── FromQuerySingleReferenceTest.cs
    │   │       │   ├── GroupJoinSeveralQueriesTest.cs
    │   │       │   ├── GroupWithGroupFilterRuleTest.cs
    │   │       │   ├── HaltRuleTest.cs
    │   │       │   ├── HavingClauseSingleArgumentConditionTest.cs
    │   │       │   ├── IdentityMatchRuleTest.cs
    │   │       │   ├── JoinFollowedByGroupByOnDifferentKeyTest.cs
    │   │       │   ├── LifecycleEventTest.cs
    │   │       │   ├── LinkedFactsErrorTest.cs
    │   │       │   ├── MultipleQueriesSingleJoinRuleTest.cs
    │   │       │   ├── NestedPatternsNoAliasTest.cs
    │   │       │   ├── NodeSharingNonEquivalentExpressionsTest.cs
    │   │       │   ├── NodeSharingTest.cs
    │   │       │   ├── NRules.IntegrationTests.csproj
    │   │       │   ├── OneEquatableFactOneCollectionRuleTest.cs
    │   │       │   ├── OneEquatableFactRuleTest.cs
    │   │       │   ├── OneFactAggregateJoinRuleTest.cs
    │   │       │   ├── OneFactFirstFactRuleTest.cs
    │   │       │   ├── OneFactNoBindingRuleTest.cs
    │   │       │   ├── OneFactNonRepeatableRuleTest.cs
    │   │       │   ├── OneFactOneCollectionRuleTest.cs
    │   │       │   ├── OneFactOneCollectToLookupRuleTest.cs
    │   │       │   ├── OneFactOneGroupByFlattenRuleTest.cs
    │   │       │   ├── OneFactOneGroupByFlattenWithIdentityRuleTest.cs
    │   │       │   ├── OneFactOneGroupByRuleTest.cs
    │   │       │   ├── OneFactOneMultiKeySortedCollectionAscendingThenDescendingRuleTest.cs
    │   │       │   ├── OneFactOneMultiKeySortedCollectionDescendingThenAscendingRuleTest.cs
    │   │       │   ├── OneFactOneMultiKeySortedCollectionManyChainedThenByRuleTest.cs
    │   │       │   ├── OneFactOneNotRuleTest.cs
    │   │       │   ├── OneFactOneSelectRuleTest.cs
    │   │       │   ├── OneFactOneSortedCollectionRuleTest.cs
    │   │       │   ├── OneFactOneSortedDescendingCollectionRuleTest.cs
    │   │       │   ├── OneFactRepeatableRuleTest.cs
    │   │       │   ├── OneFactRetractingRuleTest.cs
    │   │       │   ├── OneFactRuleTest.cs
    │   │       │   ├── OneFactRuleWithDependencyTest.cs
    │   │       │   ├── OneFactSimpleGroupByRuleTest.cs
    │   │       │   ├── PriorityTest.cs
    │   │       │   ├── RuleMetadataTest.cs
    │   │       │   ├── RuleNormalizationTest.cs
    │   │       │   ├── RulesLoadTest.cs
    │   │       │   ├── SelfRetractRuleTest.cs
    │   │       │   ├── SessionQueryTest.cs
    │   │       │   ├── SingleOrDefaultEquatableFactRuleTest.cs
    │   │       │   ├── SubnetUpdateTest.cs
    │   │       │   ├── TestAssets
    │   │       │   │   ├── BaseRulesTestFixture.cs
    │   │       │   │   ├── ContextExtensions.cs
    │   │       │   │   ├── RuleFiredAssertionException.cs
    │   │       │   │   └── XUnitRuleAsserter.cs
    │   │       │   ├── TestingFixtureTest.cs
    │   │       │   ├── ThreeFactGroupByCollectMatchRuleTest.cs
    │   │       │   ├── ThreeFactNestedOrGroupRuleTest.cs
    │   │       │   ├── ThreeFactOrGroupRuleTest.cs
    │   │       │   ├── ThreeFactTwoExistsRuleTest.cs
    │   │       │   ├── ThreeFactTwoNotRuleTest.cs
    │   │       │   ├── TwoFactCalculateRuleTest.cs
    │   │       │   ├── TwoFactFilterRuleTest.cs
    │   │       │   ├── TwoFactOneCollectionRuleTest.cs
    │   │       │   ├── TwoFactOneExistsCheckRuleTest.cs
    │   │       │   ├── TwoFactOneForAllCheckRuleTest.cs
    │   │       │   ├── TwoFactOneGroupByRuleTest.cs
    │   │       │   ├── TwoFactOneJoinedGroupByRuleTest.cs
    │   │       │   ├── TwoFactOneNotRuleTest.cs
    │   │       │   ├── TwoFactOneSelectRuleTest.cs
    │   │       │   ├── TwoFactOrGroupBindingRuleTest.cs
    │   │       │   ├── TwoFactOrGroupRuleTest.cs
    │   │       │   ├── TwoFactRuleTest.cs
    │   │       │   └── TwoFactSameTypeRuleTest.cs
    │   │       ├── NRules.Json.Tests
    │   │       │   ├── ExpressionSerializerTest.cs
    │   │       │   ├── NRules.Json.Tests.csproj
    │   │       │   ├── RuleSerializerTest.cs
    │   │       │   ├── TestAssets
    │   │       │   │   ├── Calculations.cs
    │   │       │   │   ├── Facts.cs
    │   │       │   │   └── ITestService.cs
    │   │       │   ├── TypeResolverTest.cs
    │   │       │   └── Utilities
    │   │       │       ├── ExpressionComparer.cs
    │   │       │       └── RuleDefinitionComparer.cs
    │   │       └── NRules.Tests
    │   │           ├── AgendaTest.cs
    │   │           ├── Aggregators
    │   │           │   ├── AggregatorTest.cs
    │   │           │   ├── CollectionAggregatorTest.cs
    │   │           │   ├── FlatteningAggregatorTest.cs
    │   │           │   ├── GroupByAggregatorTest.cs
    │   │           │   ├── LookupAggregatorTest.cs
    │   │           │   ├── MultiKeySortedAggregatorTest.cs
    │   │           │   ├── ProjectionAggregatorTest.cs
    │   │           │   └── SortedAggregatorTest.cs
    │   │           ├── Collections
    │   │           │   └── OrderedPriorityQueueTest.cs
    │   │           ├── NRules.Tests.csproj
    │   │           ├── Rete
    │   │           │   ├── FactTest.cs
    │   │           │   ├── TupleTest.cs
    │   │           │   └── TypeNodeTest.cs
    │   │           ├── RuleCompilerTest.cs
    │   │           ├── RuleModel
    │   │           │   └── RuleBuilderTest.cs
    │   │           ├── SessionTest.cs
    │   │           └── Utilities
    │   │               ├── ExpressionComparerTest.cs
    │   │               ├── ExpressionElementComparerTest.cs
    │   │               └── ReverseComparerTest.cs
    │   ├── NRules.Debugger.Visualizer
    │   │   ├── NRules.Debugger.Visualizer
    │   │   │   ├── NRules.Debugger.Visualizer.csproj
    │   │   │   └── SessionVisualizer.cs
    │   │   ├── NRules.Debugger.Visualizer.DebuggeeSide
    │   │   │   ├── NRules.Debugger.Visualizer.DebuggeeSide.csproj
    │   │   │   ├── SessionObjectSource.cs
    │   │   │   └── SessionPerformanceObjectSource.cs
    │   │   ├── NRules.Debugger.Visualizer.sln
    │   │   ├── NRules.Debugger.Visualizer.Tests
    │   │   │   ├── NRules.Debugger.Visualizer.Tests.csproj
    │   │   │   ├── Program.cs
    │   │   │   ├── TestAssets
    │   │   │   │   └── TestRule.cs
    │   │   │   └── VisualizerHost.cs
    │   │   └── VisualStudio.props
    │   ├── NRules.Integration
    │   │   └── NRules.Integration.Autofac
    │   │       ├── NRules.Integration.Autofac
    │   │       │   ├── AutofacDependencyResolver.cs
    │   │       │   ├── AutofacRuleActivator.cs
    │   │       │   ├── NRules.Integration.Autofac.csproj
    │   │       │   └── RegistrationExtensions.cs
    │   │       ├── NRules.Integration.Autofac.sln
    │   │       └── NRules.Integration.Autofac.Tests
    │   │           ├── NRules.Integration.Autofac.Tests.csproj
    │   │           ├── RuleDependencyInjectionTests.cs
    │   │           └── TestAssets
    │   │               ├── RuleWithActionDependency.cs
    │   │               ├── RuleWithConstructorDependency.cs
    │   │               ├── TestFact1.cs
    │   │               └── TestService.cs
    │   ├── Nullable.cs
    │   └── Nullable.props
    └── tools
        └── build
            ├── buildutils.ps1
            ├── private
            │   ├── CleanupEnvironment.ps1
            │   ├── ConfigureBuildEnvironment.ps1
            │   ├── CreateConfigurationForNewContext.ps1
            │   ├── ExecuteInBuildFileScope.ps1
            │   ├── FormatErrorMessage.ps1
            │   ├── GetCurrentConfigurationOrDefault.ps1
            │   ├── Get-DefaultBuildFile.ps1
            │   ├── GetTasksFromContext.ps1
            │   ├── LoadConfiguration.ps1
            │   ├── LoadModules.ps1
            │   ├── ResolveError.ps1
            │   ├── SelectObjectWithDefault.ps1
            │   ├── Test-ModuleVersion.ps1
            │   ├── WriteColoredOutput.ps1
            │   ├── WriteDocumentation.ps1
            │   └── WriteTaskTimeSummary.ps1
            ├── psake-config.ps1
            ├── psakefile.ps1
            ├── psake.ps1
            ├── psake.psd1
            ├── psake.psm1
            └── public
                ├── Assert.ps1
                ├── BuildSetup.ps1
                ├── BuildTearDown.ps1
                ├── Exec.ps1
                ├── FormatTaskName.ps1
                ├── Framework.ps1
                ├── Get-PSakeScriptTasks.ps1
                ├── Include.ps1
                ├── Invoke-psake.ps1
                ├── Invoke-Task.ps1
                ├── Properties.ps1
                ├── Task.ps1
                ├── TaskSetup.ps1
                └── TaskTearDown.ps1

68 directories, 551 files

标签:

实例下载地址

基于Rete匹配算法的.NET规则引擎(使用C#内部DSL编写规则)

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警