コード例 #1
0
            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());
            }
コード例 #2
0
ファイル: ScriptMObject.cs プロジェクト: odasm/Fiesta_Utils
        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;
        }