代码之家  ›  专栏  ›  技术社区  ›  gin93r

有没有一种简单的方法来设置一个对象的所有属性以匹配另一个对象?

  •  0
  • gin93r  · 技术社区  · 7 年前

    我有一个具有属性的类,然后我有一个与第一个对象具有相同属性(或者更确切地说是子集)的自定义控件。

    1 回复  |  直到 7 年前
        1
  •  3
  •   Eser    7 年前

    是的,你可以使用反射

    void Copy(object from, object to)
    {
        Type fromType = from.GetType();
        Type toType = to.GetType();
        foreach(var prop in fromType.GetProperties()
                                    .Where(p=>toType.GetProperty(p.Name)!=null))
        {
            toType.GetProperty(prop.Name).SetValue(to, prop.GetValue(from, null));
        }
    
    }