对不起,如果这有点抽象。我正处于发展的早期阶段。
我有两种对象类型:
- 需要存储一系列用户定义条件的对象。
- 与第一个对象中定义的零个或多个条件匹配的对象。
这是一个如何运行的简单示例。
- 用户创建多个类型 2 的对象并将它们添加到集合中。
- 然后用户创建一个类型 1 的对象并为其分配几个条件。
- 系统使用对象类型 1 中的条件生成类型 2 的对象列表,按每个对象匹配条件的百分比排序。
这是预期输出的示例:
Conditions List
Quantity >= 2 Object5 100%
Value < 2 Object2 75%
Category = "Blah" Object4 50%
Quality > 5 Object1 25%
Object3 0%
每个条件中的第一个操作数是属性的名称,而第二个操作数是该属性的值。
我怎样才能做到这一点?
我的第一个想法是它看起来类似于查询语言。如果它们是数据库表中的记录,我可以为每个条件拼接一个 SQL 字符串,运行每个查询并计算每个记录 ID 在查询结果中出现的次数。但这些都是普通的旧 C# 对象。我还没有决定使用什么来进行对象持久化,所以我现在不想将自己绑定到数据库引擎。有什么建议么?