废话不多说了,直接贴代码了,具体代码如下所述:
/// <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<mark style="color:transparent">本文来源gaodaimacom搞#^代%!码&网*</mark>> 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通过字典给类赋值实现代码 的内容,更多相关内容请随时关注我们网站!
<!—ecms
–>