public void Add(string strExp) { if (string.IsNullOrWhiteSpace(strExp)) throw new ArgumentNullException("strExp"); string[] exps = strExp.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries); while (expressions.Count + exps.Length > countOfExps) expressions.RemoveAt(0); foreach (var s in exps) { ILogicExpression exp = parser.Parse(s); LogicWorkspaceItem item = new LogicWorkspaceItem(s, exp); if (exp is Assign) { Assign assign = exp as Assign; assign.Calculate(parameters); item.Answer = string.Format(Resource.AssignVariable, assign.Variable, assign.Value); } else if (exp is Undefine) { Undefine undef = exp as Undefine; undef.Calculate(parameters); item.Answer = string.Format(Resource.UndefineVariable, undef.Variable); } else { item.Answer = exp.Calculate(parameters).ToString(); } expressions.Add(item); } }
public LogicWorkspaceItemViewModel(int index, LogicWorkspaceItem item) { this.index = index; this.item = item; }
public void Remove(LogicWorkspaceItem item) { expressions.Remove(item); }