你的位置:首页 > ASP.net教程

[ASP.net教程].NET通过字典给类赋值


 1 /// <summary> 2     ///  3     /// </summary> 4     /// <typeparam name="T"></typeparam> 5     /// <param name="origin">源数据</param> 6     /// <param name="target">对象数据</param> 7     /// <param name="dict">变量名对应字典</param> 8     public static void CopyTo<T>(this object origin, T target,Dictionary<string,string> dict)where T :class,new() 9     {10       PropertyInfo[] props = target.GetType().GetProperties();11 12       foreach (PropertyInfo info in props)13       {14         var variable = dict.FirstOrDefault(m => m.Value == info.Name);15         if (variable.Key!=null)16         {17           string variableName = variable.Key;18           string chineseName = variable.Value;19           var propertyValue =20             origin.GetType()21               .GetProperty(variableName)22               .GetValue(origin, null);23           if (propertyValue != null)24           {25             if (propertyValue.GetType().IsClass)26             {27 28             }29             target.GetType()30               .InvokeMember(chineseName, BindingFlags.SetProperty, null, target,31                 new object[] { propertyValue });32           }33         }34       }35     }

View Code