10
วิธีการใช้เอ็นจินกฎ
ฉันมีตาราง 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") เนื่องจากคุณสมบัติของวัตถุเช่น 'อายุ' หรือ 'ชื่อผู้ใช้' ถูกเก็บไว้ในตารางพร้อมกับโอเปอเรเตอร์การเปรียบเทียบ 'great_than' และ 'เท่าเทียมกัน' ฉันจะทำสิ่งนี้ได้อย่างไร C # …
205
c#
dynamic
rule-engine