public void Execute(IBindingEnvironment environment) { AgentClass dynclass = new AgentClass(this.name); int k = 0; if (this.memberExpressions != null) { foreach (IExpression expression in this.memberExpressions) { string name = this.memberNames[k++]; object value = null; if (expression != null) { value = expression.Evaluate(environment); } if (value is ICallable && !(value is AgentFunction)) { value = new AgentFunction((ICallable)value); } dynclass.SetMember(name, value); } } Machine.Current.Environment.SetValue(this.name, dynclass); }