相同的变量名 - 2 个不同的类 - 如何将值从一个类复制到另一个类 - 反射 - C#

2024-02-21

不使用AutoMapper...(因为负责这个项目的人看到依赖关系时会扔砖头)

我有一个类(A 类),具有许多属性。我有另一个具有相同属性(相同名称和类型)的类(B 类)。 B 类还可以有其他不相关的变量。

是否有一些简单的反射代码可以将值从 A 类复制到 B 类?

越简单越好。


Type typeB = b.GetType();
foreach (PropertyInfo property in a.GetType().GetProperties())
{
    if (!property.CanRead || (property.GetIndexParameters().Length > 0))
        continue;

    PropertyInfo other = typeB.GetProperty(property.Name);
    if ((other != null) && (other.CanWrite))
        other.SetValue(b, property.GetValue(a, null), null);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

相同的变量名 - 2 个不同的类 - 如何将值从一个类复制到另一个类 - 反射 - C# 的相关文章