废话不多说了,直接贴代码了,具体代码如下所述:
/// <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通过字典给类赋值实现代码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的,在此也非常感谢大家对呐喊教程网站的支持!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。