废话不多说了,直接贴代码了,具体代码如下所述:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
/// <summary> /// /// </summary> /// <typeparam name="T"></typeparam> /// <param name="origin">源数据</param> /// <param name="target">对象数据</param> /// <param name="dict">变量名对应字典</param> public static void CopyTo<T>( this object origin, T target,Dictionary< string , string > dict)where T : class , new () { PropertyInfo[] props = target.GetType().GetProperties(); foreach (PropertyInfo info in props) { var variable = dict.FirstOrDefault(m => m.Value == info.Name); if (variable.Key!= null ) { string variableName = variable.Key; string chineseName = variable.Value; var propertyValue = origin.GetType() .GetProperty(variableName) .GetValue(origin, null ); if (propertyValue != null ) { if (propertyValue.GetType().IsClass) { } target.GetType() .InvokeMember(chineseName, BindingFlags.SetProperty, null , target, new object [] { propertyValue }); } } } } |
以上所述是小编给大家介绍的.NET通过字典给类赋值实现代码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的,在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://www.cnblogs.com/fb208/archive/2016/09/03/5837334.html