예제 #1
0
        public HashSet <string> UsedParameters()
        {
            Check();
            var visitor = new ParameterExtractionVisitor();

            ParsedExpression.Accept(visitor);
            return(visitor.Parameters);
        }
예제 #2
0
        public override ICollection<string> GetNeededInputs()
        {
            // Parse formula to extract references to any object name
            var e = NCalc.Expression.Compile(Formula, false);
            var visitor = new ParameterExtractionVisitor();
            e.Accept(visitor);

            mInputs = visitor.Parameters;
            return mInputs;
        }
예제 #3
0
        public List <ParameterFormula> ExtractParameters(Formula formula)
        {
            var expression = global::NCalc.Expression.Compile(formula.Body, false);
            var visitor    = new ParameterExtractionVisitor();

            expression.Accept(visitor);
            return(visitor.Parameters.Select(x => new ParameterFormula {
                Name = x
            }).ToList());
        }
예제 #4
0
        public override ICollection <string> GetNeededInputs()
        {
            // Parse formula to extract references to any object name
            var e       = NCalc.Expression.Compile(Formula, false);
            var visitor = new ParameterExtractionVisitor();

            e.Accept(visitor);

            mInputs = visitor.Parameters;
            return(mInputs);
        }
예제 #5
0
        public List <string> GetParametersInExpression(string formula)
        {
            try
            {
                var expr = NCalc.Expression.Compile(formula, false);

                var visitor = new ParameterExtractionVisitor();
                expr.Accept(visitor);

                return(visitor.Parameters);
            }
            catch (Exception ex)
            {
                return(new List <string>());
            }
        }