public object Get(string name, object instance, Type type, params object[] arguments) { IScriptable dm = instance as IScriptable; if (dm == null) { return(NoResult); } return(dm.GetMember(name, arguments).GetValue()); }
public override void Evaluate(IScriptContext context) { string typeName = RuntimeHost.GetSettingsItem("ScriptableObjectType") as string; Type mobjectType = typeof(Expando); if (!string.IsNullOrEmpty(typeName)) { mobjectType = RuntimeHost.GetType(typeName); } IScriptable mobject = RuntimeHost.Activator.CreateInstance(mobjectType) as IScriptable; foreach (ScriptMObjectPart part in objectParts) { part.Evaluate(context); object[] rez = (object[])context.Result; mobject.GetMember((string)rez[0], null).SetValue(rez[1]); } context.Result = mobject; }