DartSharp.Expressions.DotExpression.Evaluate C# (CSharp) Méthode

Evaluate() public méthode

public Evaluate ( Context context ) : object
context Context
Résultat object
        public object Evaluate(Context context)
        {
            object obj = null;

            if (this.type == null)
               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();
            }

            if (this.type != null)
                return TypeUtilities.InvokeTypeMember(this.type, this.name, parameters);

            if (obj is Type)
                return TypeUtilities.InvokeTypeMember((Type)obj, this.name, parameters);

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

            return ObjectUtilities.GetValue(obj, this.name, parameters);
        }

Usage Example

        public void EvaluateDotExpressionOnInteger()
        {
            IExpression expression = new DotExpression(new ConstantExpression(1), "ToString", new List<IExpression>());

            Assert.AreEqual("1", expression.Evaluate(null));
        }
All Usage Examples Of DartSharp.Expressions.DotExpression::Evaluate