031.Entity/EntityHelper.cs
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
namespace CommonLib
{
/// <summary>
/// 实体类帮助类
/// </summary>
public class EntityHelper
{
#region 设置赋值
/// <summary>
/// 设置赋值
/// </summary>
/// <typeparam name="T"></typeparam>
/// <typeparam name="K"></typeparam>
/// <param name="source">源数据对象</param>
/// <param name="target">赋值目标对象</param>
public static void SetBase<T, K>(T source, K target) where T : class, new()
{
if (source != null && target != null)
{
PropertyInfo[] propertys1 = source.GetType().GetProperties();// 获得此模型的公共属性
PropertyInfo[] propertys = target.GetType().GetProperties();
foreach (PropertyInfo pi in propertys)
{
if (pi.CanWrite && propertys1.Where(ex => ex.Name == pi.Name).Count() > 0)
{
object value = GetValue(source, pi.Name);
pi.SetValue(target, value, null);
}
}
}
}
/// <summary>
/// 设置赋值
/// </summary>
/// <typeparam name="T"></typeparam>
/// <typeparam name="K"></typeparam>
/// <param name="source">源数据对象</param>
/// <param name="target">赋值目标对象</param>
public static void SetBase<T, K>(List<T> source, List<K> target) where T : class, new() where K : class, new()
{
if (source != null && target != null)
{
foreach (var item in source)
{
var obj = new K();
SetBase(item, obj);
target.Add(obj);
}
}
}
后面还有 44 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
