Exemple #1
0
        public FormulaExpression(params IExpression[] expressions)
        {
            var result = new FormulaExpression();

            foreach (var item in expressions)
            {
                result = result.Add(item);
            }
            this.Value  = result.Value;
            this.Terms  = result.Terms;
            this.Others = result.Others;
        }
Exemple #2
0
        public FormulaExpression Add(FormulaExpression value)
        {
            var result = this;

            result = result.Add(value.Value);
            result = result.Add(value.Terms);
            var other = result.Others.ToList();

            other.AddRange(value.Others);
            result = new FormulaExpression(result.Value, result.Terms, other.ToArray());
            return(result);
        }
Exemple #3
0
        public IExpression MemberSelect(Func <IExpression, IExpression> func)
        {
            var c      = GetMembers().Select(a => func(a)).ToArray();
            var f      = new FormulaExpression(c);
            var single = f.GetSingleOrDefault();

            if (single == null)
            {
                return(f);
            }
            else
            {
                return(single);
            }
        }