Как реализовать механизм правил?

У меня есть таблица db, в которой хранится следующее:

RuleID  objectProperty ComparisonOperator  TargetValue
1       age            'greater_than'             15
2       username       'equal'             'some_name'
3       tags           'hasAtLeastOne'     'some_tag some_tag2'

Теперь предположим, что у меня есть набор этих правил:

List<Rule> rules = db.GetRules();

Теперь у меня также есть экземпляр пользователя:

User user = db.GetUser(....);

Как мне пройти через эти правила, применить логику и выполнить сравнения и т. Д.

if(user.age > 15)

if(user.username == "some_name")

Поскольку свойство объекта, такое как 'age' или 'user_name', хранится в таблице вместе с оператором сравнения 'great_than' и ' equal ', как я могу это сделать?

C # - это язык со статической типизацией, поэтому не знаю, как двигаться дальше.

196
задан tshepang 23 September 2013 в 14:25
поделиться