我用一个静态方法编写了一个类,该方法将属性值从一个对象复制到另一个对象。它不关心每个对象是什么类型,只关心它们具有相同的属性。它可以满足我的需要,因此我不会对其进行进一步设计,但是您会做出哪些改进?
这是代码:
public class ShallowCopy
{
public static void Copy<From, To>(From from, To to)
where To : class
where From : class
{
Type toType = to.GetType();
foreach (var propertyInfo in from.GetType().GetProperties(BindingFlags.GetProperty | BindingFlags.Public | BindingFlags.Instance))
{
toType.GetProperty(propertyInfo.Name).SetValue(to, propertyInfo.GetValue(from, null), null);
}
}
}
我使用它如下:
EmployeeDTO dto = GetEmployeeDTO();
Employee employee = new Employee();
ShallowCopy.Copy(dto, employee);