예제 #1
0
        protected virtual void Internal_ApplyToObject(object obj)
        {
            if (ParentScript != null)
            {
                ParentScript?.Internal_ApplyToObject(obj);
            }

            Type t = obj.GetType();

            foreach (var Property in t.GetProperties())
            {
                if (JObject.ContainsKey(Property.Name))
                {
                    object val = JObject.SelectToken(Property.Name).ToObject(Property.PropertyType, Serializer);
                    Property.SetValue(obj, val);
                }
            }

            if (obj is INamed)
            {
                (obj as INamed).Name = ObjectName ?? (obj as INamed).Name;
            }
        }