我正在研究一个实验性的 TreeView,其中每个 TreeViewItem 可以表示一个条件,也可以表示一个带有运算符的分支。这将被解析为 SQL。
例如,树可能有一个带有“AND”或“OR”运算符的分支,其子节点将成为条件。这被用来作为能够生成WHERE
一个 SQL 语句的段,例如((Name = 'Matt' AND AGE > 20) OR (Name = 'John' AND Age = 15)) AND Job = 'Student'
。
我该怎么做呢?到目前为止,我所做的是将一string,list<Condition>
对放在 a 中Tuple<>
,其中字符串表示分支运算符 (AND/OR),列表表示该分支中包含的条件。
但是,由于每个分支都可以拆分为多个运算符分支或条件,因此它很快就会变得极其复杂