Во-первых, вам нужно создать классы, которые могут определять ваши правила. Когда у вас будет эта структура, вы сможете создать движок, использующий эти классы.
Я бы посмотрел на создание чего-то вроде:
class RuleEngine
{
public RuleMatch[] RuleMatches { get; set; }
public void RunEngine(inputdata...)
{
// do processing in here
}
}
class RuleMatch
{
public Rule[] Rules { get; set; }
public Object ValueIfMatched { get; set; }
}
class Rule
{
public String FieldName { get; set; }
public MatchType Match { get; set; }
public Object Value { get; set; }
)
enum MatchType
{
Equal = 1,
NotEqual = 2,
GreaterThan = 4,
LessThan = 8,
Like = 16
}
Тогда иди оттуда ...
Эта структура была бы лучше, если бы она была изменена, чтобы иметь группу правил, которые могут быть добавлены в группу правил, например (a И b) ИЛИ (c И d) - я оставлю это вам подумай пока.
Обратите внимание, что здесь я использую некоторые конструкции C # 3.0, вам нужно будет создать полностью приватные свойства в 1.1.