相关疑难解决方法(0)

你会如何改进这种浅层复制课程?

我用一个静态方法编写了一个类,它将属性值从一个对象复制到另一个对象.它并不关心每个对象的类型,只关心它们具有相同的属性.它做我需要的,所以我不是进一步设计它,但你会做出什么改进?

这是代码:

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);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我使用它如下:

EmployeeDTO dto = GetEmployeeDTO();
Employee employee = new Employee();
ShallowCopy.Copy(dto, employee);
Run Code Online (Sandbox Code Playgroud)

c# reflection shallow-copy

5
推荐指数
1
解决办法
2199
查看次数

标签 统计

c# ×1

reflection ×1

shallow-copy ×1