#region 更新赋值,前者赋值给后者 public static void ShadowCopy(object a, object b) { if (a == null) return; if (a.GetType() == b.GetType()) { PropertyInfo[] properties = a.GetType().GetProperties(); foreach (var p in properties) { var value = p.GetValue(a, null); if (value != GetDefault(p.GetType())) p.SetValue(b, value, null); } } } public static object GetDefault(Type type) { if (type.IsValueType) { return Activator.CreateInstance(type); } return null; } #endregion
时间: 2024-12-16 21:00:57