Ejemplo n.º 1
0
        public Completion Execute(ExecutionEnvironment environment)
        {
            ExecutionEnterEventArgs args = new ExecutionEnterEventArgs(this);

            environment.FireEnterNode(args);
            try
            {
                var c = this.ExecuteImpl(environment);
                environment.FireLeaveNode(new ExecutionLeaveEventArgs(this, c));
                return(c);
            }
            catch (Exception e)
            {
                environment.FireLeaveNode(new ExecutionLeaveEventArgs(this, Completion.Exception(e.Message, this)));
                return(Completion.Exception(e.Message, this));
            }
        }