Masterly.BusinessRules.Expressions
3.0.0
dotnet add package Masterly.BusinessRules.Expressions --version 3.0.0
NuGet\Install-Package Masterly.BusinessRules.Expressions -Version 3.0.0
<PackageReference Include="Masterly.BusinessRules.Expressions" Version="3.0.0" />
<PackageVersion Include="Masterly.BusinessRules.Expressions" Version="3.0.0" />
<PackageReference Include="Masterly.BusinessRules.Expressions" />
paket add Masterly.BusinessRules.Expressions --version 3.0.0
#r "nuget: Masterly.BusinessRules.Expressions, 3.0.0"
#:package Masterly.BusinessRules.Expressions@3.0.0
#addin nuget:?package=Masterly.BusinessRules.Expressions&version=3.0.0
#tool nuget:?package=Masterly.BusinessRules.Expressions&version=3.0.0
Masterly.BusinessRules.Expressions
Write a business rule's condition as text, such as amount > @maxOrderAmount, and explain every verdict with the values that produced it. Use it when conditions live in configuration, a database or an admin screen.
This is a companion package of Masterly.BusinessRules, a composable business-rule engine for .NET.
Install
dotnet add package Masterly.BusinessRules.Expressions
- Target framework:
netstandard2.1(.NET Core 3.0+, .NET 5+) - Dependencies:
Masterly.BusinessRulesonly
Example
using Masterly.BusinessRules;
using Masterly.BusinessRules.Expressions;
// Parse once and reuse: a RuleExpression is immutable, and bad text throws here, not at evaluation.
RuleExpression expression = RuleExpression.Parse("amount > maxOrderAmount");
ExpressionBusinessRule rule = expression.ToRule("ORDER.TOO_LARGE", "Order exceeds the limit.");
BusinessRuleContext context = new BusinessRuleContext();
context.Set("amount", 12_000m);
context.Set("maxOrderAmount", 10_000m);
bool isBroken = rule.IsBroken(context); // true: the text describes when the rule is broken
rule.Check(context); // throws BusinessRuleValidationException
An expression rule always needs a context. It works everywhere other rules do: composition, groups, decorators and the batch checkers. BusinessRuleBuilder.Create(code).WhenExpression(text) gives you the builder's name, category, tags, details and declared @parameters on top.
Documentation
Expression syntax, comparisons, parameters, safety limits and explanations are covered in the full documentation: https://github.com/a7mdfre7at/Masterly.BusinessRules#readme
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Masterly.BusinessRules (>= 3.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.0.0 | 44 | 10/28/2026 |
Release notes for version 3.0.0: https://github.com/a7mdfre7at/Masterly.BusinessRules/blob/master/CHANGELOG.md