Example #1
0
        public object Evaluate(params object[] operands)
        {
            var csCode = string.Join("", operands);
            var usings = string.Join(Environment.NewLine, Usings);
            var eval   = CSharpEvaluator.Eval(csCode, usings);

            return(eval);
        }
Example #2
0
        public void CompleteTest()
        {
            var ev = new CSharpEvaluator();

            ev.SetVariable("x", 10.0);

            using (var q = ev.Parse("x*2"))
            {
                Assert.AreEqual(q.ObjectValue, 20.0);
                ev.SetVariable("x", 11.0);
                Assert.AreEqual(q.ObjectValue, 22.0);
            }
            // the formula is disposed here (but probably still in the cache)
            ev.SetVariable("x", 10.0);

            using (var q = ev.Parse("x*2"))
            {
                // the formula has be recycled
                Assert.AreEqual(q.ObjectValue, 20.0);
                ev.SetVariable("x", 11.0);
                Assert.AreEqual(q.ObjectValue, 22.0);
            }
        }