摘要:這篇文章主要介紹了.NET通過(guò)字典給類賦值實(shí)現(xiàn)代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下/// <summary> /// /// </summary> /// <typeparam name="T"></typeparam> /// <param&
這篇文章主要介紹了.NET通過(guò)字典給類賦值實(shí)現(xiàn)代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
/// <summary> /// /// </summary> /// <typeparam name="T"></typeparam> /// <param name="origin">源數(shù)據(jù)</param> /// <param name="target">對(duì)象數(shù)據(jù)</param> /// <param name="dict">變量名對(duì)應(yīng)字典</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 }); } } } }
更多關(guān)于.NET通過(guò)字典給類賦值實(shí)現(xiàn)代碼請(qǐng)關(guān)注PHP中文網(wǎng)(ipnx.cn)其他文章!