[]
The Range property is a collection of RulesEngineRange objects, and each object defines a subset of items, a subset of field or both. This allows the Rules Manager to have control over when and where a rule should be evaluated.
Every rule has a scope determined by the Range property. This is a collection of RulesEngineRange which can be defined by a collection of fields and/or a range of items.
For xaml and serialization purposes, there is a type-converter from string, with some specific syntax.
For instance,
The Range property of a rule can be defined using the static method (Parse or TryParse).
rule.Ranges = RulesEngineRangeCollection.Parse(string stringValue)
// there is also constructor
rule.Ranges = new RulesEngineRangeCollection(stringValue)
Parse or TryParse methods converts a string representation of a Range into a RulesEngineRangeCollection. The string should follow the syntax rules described above (Example, "3:6:[FirstName];8:12:[LastName]").
// Parse a range string into Ranges collection
rule.ranges = RulesEngineRangeCollection.Parse("3:6:[FirstName];8:12:[LastName]")
Build the Range collection manually using code
rule.Ranges = new RulesEngineRangeCollection()
{
new RulesEngineRange(fieldName),
new RulesEngineRange(firstItem, lastItem, fieldName2)
// ...
};