如何递归遍历一个类的属性,给另外一个大体相同的类赋值

Jason-Jin 2012-09-13 07:09:20
如何递归遍历一个类的属性,给另外一个大体相同的类赋值

比如说存在类
public class A
{
public string a{get;set;}
public string b{get;set;}
public List<M1> m{get;set;}
}

A类中包含了属性a,b,m1 其中M1是一种泛型类

此时存在B
public class B
{
public string a{get;set;}
public string b{get;set;}
public string c{get;set;}
public string d{get;set;}

public List<M2> m{get;set;}
}

M2类型比M1中多了几个属性,其他字段一样

就是这样,我如何通过递归,能将A中存在的属性,赋值到B中相同名称上的,包括A中M1的字段也要赋值到B中的M2中
...全文
493 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
黄亮 2012-09-15
  • 打赏
  • 举报
回复
因为是不同的类,通过序列化反序的方式比较复杂需要加Attribute。
目前只能通过反射的方式2边找对应的属性赋值,也很复杂,效率也不高。
如果此类处理不多还是手工写吧。
garfieldzf 2012-09-14
  • 打赏
  • 举报
回复
SQL77 2012-09-14
  • 打赏
  • 举报
回复
如果类变化不大。不如在B里面构造传入个A的实例。里面做转换即可。灵活点用反射
宝_爸 2012-09-14
  • 打赏
  • 举报
回复
或者用反射。
qldsrx 2012-09-13
  • 打赏
  • 举报
回复
自己遍历,你这种深层次的拷贝必须自己写具体的方法,不能偷懒。
threenewbee 2012-09-13
  • 打赏
  • 举报
回复
先序列化,再反序列化。

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧