.NET通过字典给类赋值实现代码


本文摘自PHP中文网,作者黄舟,侵删。

废话不多说了,直接贴代码了,具体代码如下所述:

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通过字典给类赋值实现代码 的内容!

相关阅读 >>

代码分析:在.net core中使用ref和span<t>提高程序性能

.net core配置与自动更新的实现方法_实用技巧

.net 中的程序集

c#实现杨辉三角的示例

c#中的正则表达式如何验证中文字符的实例

c#如何生成二维码的示例分享

.net core对mongodb执行多条件查询

解析.net垃圾回收(gc)原理

c# 一些面试试题的实例教程

c#中多线程之thread类详解

更多相关阅读请进入《.net》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...