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

原创 2017-01-12 11:31:30 416
摘要:这篇文章主要介绍了.NET通过字典给类赋值实现代码,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友可以参考下/// <summary> /// /// </summary> /// <typeparam name="T"></typeparam> /// <param&

这篇文章主要介绍了.NET通过字典给类赋值实现代码,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友可以参考下

/// <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通过字典给类赋值实现代码请关注PHP中文网(www.php.cn)其他文章!

发布手记

热门词条