//. / Données sources/// Données objets/// //. / Données sources/// Données objets///

Maison  >  Article  >  développement back-end  >  .NET implémente le code en attribuant des valeurs aux classes via des dictionnaires

.NET implémente le code en attribuant des valeurs aux classes via des dictionnaires

黄舟
黄舟original
2017-02-22 10:33:102028parcourir

Plus de bêtises, publions simplement le code. Le code spécifique est le suivant :

/// <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 });
}
}
}
}



C'est tout. NET attribue des valeurs aux classes via des dictionnaires pour implémenter le contenu du code. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn