Beispiel #1
0
        /// <summary>
        /// 创建一个空
        /// </summary>
        /// <returns></returns>
        public static DynamicObj NewObj(string Key, object Value)
        {
            DynamicObj obj = new DynamicObj();

            obj.Set(Key, Value);
            return(obj);
        }
Beispiel #2
0
        private DynamicObj ToDynamic(JObject jo)
        {
            if (jo == null)
            {
                return(null);
            }

            DynamicObj obj = new DynamicObj();
            IEnumerable <JProperty> properties = jo.Properties();

            foreach (JProperty item in properties)
            {
                if (item.Value == null)
                {
                    obj.Set(item.Name, null);
                }
                else if (item.Value is JObject)
                {
                    obj.Set(item.Name, ToDynamic((JObject)item.Value));
                }
                else if (item.Value is JArray)
                {
                    obj.Set(item.Name, ToDynamics((JArray)item.Value));
                }
                else
                {
                    object ov = ((JValue)item.Value).Value;
                    if (ov is JObject)
                    {
                        obj.Set(item.Name, ToDynamic((JObject)ov));
                    }
                    else
                    {
                        obj.Set(item.Name, ov);
                    }
                }
            }
            return(obj);
        }
Beispiel #3
0
        public static DynamicObj ToDynamic(IDataReader dr)
        {
            DynamicObj obj = new DynamicObj(StringComparer.OrdinalIgnoreCase);

            for (int index = 0; index < dr.FieldCount; index++)
            {
                object v = dr.GetValue(index);
                if (v == DBNull.Value)
                {
                    v = v.GetObjectValue(dr.GetFieldType(index));
                }
                obj.Set(dr.GetName(index), v);
            }
            return(obj);
        }