gpt4 book ai didi

c# - 将值从一个对象复制到另一个对象

转载 作者:可可西里 更新时间:2023-11-01 07:48:37 24 4
gpt4 key购买 nike

有没有人能推荐一个将值从一个对象映射到另一个对象的实用类?我想要一个实用程序类,它使用反射并获取两个对象并将值从第一个对象复制到第二个对象(如果存在同名的公共(public)属性)。

我有两个从 Web 服务代理生成的实体,因此我无法更改父类或实现接口(interface)或类似的东西。但我知道这两个对象具有相同的公共(public)属性。

最佳答案

放在一起应该很简单......

public static void CopyPropertyValues(object source, object destination)
{
var destProperties = destination.GetType().GetProperties();

foreach (var sourceProperty in source.GetType().GetProperties())
{
foreach (var destProperty in destProperties)
{
if (destProperty.Name == sourceProperty.Name &&
destProperty.PropertyType.IsAssignableFrom(sourceProperty.PropertyType))
{
destProperty.SetValue(destination, sourceProperty.GetValue(
source, new object[] { }), new object[] { });

break;
}
}
}
}

关于c# - 将值从一个对象复制到另一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2624823/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com