AjScript.Commands.DeleteCommand.Execute C# (CSharp) Method

Execute() public method

public Execute ( IContext context ) : void
context IContext
return void
        public void Execute(IContext context)
        {
            if (this.expression is DotExpression)
            {
                DotExpression dexpr = (DotExpression)this.expression;
                var target = (DynamicObject)dexpr.Expression.Evaluate(context);
                target.RemoveValue(dexpr.Name);
                return;
            }

            context.RemoveValue(((VariableExpression)this.expression).Name);
        }

Usage Example

示例#1
0
        public void ExecuteDeleteCommand()
        {
            DynamicObject dynobj = new DynamicObject();
            dynobj.SetValue("name", "Adam");
            dynobj.SetValue("age", 800);

            DeleteCommand cmd = new DeleteCommand(new DotExpression(new VariableExpression("adam"), "name"));

            var context = new Context();
            context.SetValue("adam", dynobj);

            cmd.Execute(context);

            Assert.IsTrue(dynobj.HasName("age"));
            Assert.IsFalse(dynobj.HasName("name"));
        }