亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

.NET通過(guò)字典給類賦值實(shí)現(xiàn)代碼

原創(chuàng) 2017-01-12 11:31:30 453
摘要:這篇文章主要介紹了.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)其他文章!

發(fā)佈手記

熱門詞條