(转)C#中属性PropertyInfo的使用,Dictionary转为Model实例

Dictionary<string, object> dic = new Dictionary<string, object>();
  dic.Add("Id",100);
  dic.Add("Name", "keso");
  dic.Add("Group", "程序员");
  转换字典方法:
public static T ConvertDic<T>(Dictionary<string, object> dic)
{
T model = Activator.CreateInstance<T>();
PropertyInfo[] modelPro = model.GetType().GetProperties();
if (modelPro.Length > 0 && dic.Count() > 0)
{
for (int i = 0; i < modelPro.Length; i++)
{
if (dic.ContainsKey(modelPro[i].Name))
{
modelPro[i].SetValue(model, dic[modelPro[i].Name], null);
}
}
}
return model;
}
 最后的调用:
  User user = ConvertDic<User>(dic);
 
http://www.51testing.com/html/24/n-933924-3.html
文章标签: .netc#dictionary
posted @ 2018-05-09 16:21  CuteFlyBird  阅读(257)  评论(0编辑  收藏  举报