通过反射初始化Class值

#region 数据操作
        /// <summary>
        /// 签到商户
        /// </summary>
        /// <param name="jsonValues">Json</param>
        /// <returns></returns>
        public string CheckInStore(string jsonValues)
        {
            string value = "-1";
            List<string[]> listValues = JsonHelp.JSONToObject<List<string[]>>(jsonValues);
            SSPClassLibrary.BLL.TbStoreAddress bll = new SSPClassLibrary.BLL.TbStoreAddress();
            SSPClassLibrary.Model.TbStoreAddress model = new SSPClassLibrary.Model.TbStoreAddress();
            model = (SSPClassLibrary.Model.TbStoreAddress)SetClassValue(model, listValues);
            value = JsonHelp.ObjectToJSON(value);
            return value;
        }
        #endregion
        #region Tools
        /// <summary>
        /// 给类赋值
        /// </summary>
        /// <param name="obj">类</param>
        /// <param name="listValues">值 list<new string[]{"id","value"}></param>
        /// <returns></returns>
        public object SetClassValue(object obj, List<string[]> listValues)
        {
            Type t = obj.GetType();//获得该类的Type
            //再用Type.GetProperties获得PropertyInfo[],然后就可以用foreach 遍历了
            foreach (PropertyInfo pi in t.GetProperties())
            {
                for (int i = 0; i < listValues.Count; i++)
                {
                    string[] values = (string[])listValues[i];
                    if (values.Length.Equals(2))
                    {
                        if (values[0].ToLower().Equals(pi.Name.ToLower()))
                        {
                            pi.SetValue(obj, values[1], null);
                            break;
                        }
                    }
                }
            }
            return obj;
        }
        #endregion


知识共享许可协议
《通过反射初始化Class值》常伟华 创作。
采用 知识共享 署名-相同方式共享 3.0 中国大陆 许可协议进行许可。
相邻依据:发表时间
  • 多说评论
  • 签名
  • 新浪微博
  • 默认评论
  • Tab Header 5

0 条评论 / 点击此处发表评论

Tab Content 5

开发技术


开发平台和工具

sitemap     156.49ms