我正在一个项目中,用户需要具有在WPF
应用中创建公式的能力。
该公式必须由某些properties
组成。
假设我们有properties
:
public decimal? Prop1 { get; set; }
public decimal? Prop2 { get; set; }
public decimal? Prop3 { get; set; }
现在,假设我们有一个TextBox
,用户必须只能输入那些properties
,并且在这两者之间需要一些运算符:
+, -, /, *
。
我得到的部分是用户只能输入这些值properties
和运算符…
但是我的问题是如何将公式保存到SQL
database
(让我们说Prop1
* Prop2
),如何从database
获取公式并使其从中读取值,然后基本上是“做数学…”
decimal? x = MyFormula;
我知道这个问题很棘手,我对此的描述也很困难……如果需要,请随时询问更多详细信息,我将尽力对其进行解释。
答案 0 :(得分:1)
那里有两个不同的问题,而且都有些开放。
我对您的第一个问题的建议是将Model / ViewModel序列化为字符串。您可能会发现您想要稍微不同地存储它们。例如:
public class Property
{
public string PropReference{get;set;}
}
public class Operator
{
public string Operator{get;set;}
}
public class Calculation
{
public Property Prop {get;set;}
public Operator Op {get;set;}
public Property Prop2 {get;set;}
}
这样,您可以将它们链接在一起,甚至嵌套它们。在回答第二个问题时,您可能想研究诸如Jace之类的库,因为这不是一个简单的问题,但已经解决了。
编辑-基于注释的替代解决方案:
public class Operator : IAction
{
public string Operator {get;set;}
}
public class Calculation : IAction
{
IList<KeyValuePair<IAction, Property>> Operations {get;set;}
}