AjScript.Expressions.IndexedExpression.Evaluate C# (CSharp) Method

Evaluate() public method

public Evaluate ( IContext context ) : object
context IContext
return object
        public object Evaluate(IContext context)
        {
            object obj = this.Expression.Evaluate(context);

            object[] parameters = null;

            if (this.arguments != null)
            {
                List<object> values = new List<object>();

                foreach (IExpression argument in this.arguments)
                    values.Add(argument.Evaluate(context));

                parameters = values.ToArray();
            }

            // TODO if undefined, do nothing
            if (obj == null)
                return null;

            return ObjectUtilities.GetIndexedValue(obj, parameters);
        }

Usage Example

Ejemplo n.º 1
0
        public void EvaluateArrayVariableExpression()
        {
            Context context = new Context();

            context.SetValue("array", new string[] { "one", "two", "three" });

            IExpression expression = new IndexedExpression(new VariableExpression("array"), new IExpression[] { new ConstantExpression(1) });

            object result = expression.Evaluate(context);

            Assert.IsNotNull(result);
            Assert.AreEqual("two", result);
        }
All Usage Examples Of AjScript.Expressions.IndexedExpression::Evaluate