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 }