社区
C#
帖子详情
两个类相同结构如何进行赋值(=)
jauntlin
2006-10-26 05:17:57
如:A类和B类都为实体类,结构相同,现在想把A类里的成员的值都赋给B类(包括私有,公有,受保护)。该怎么做?直接=是不行的。可别说一个一个字段赋值过去,程序不能写死
...全文
373
16
打赏
收藏
两个类相同结构如何进行赋值(=)
如:A类和B类都为实体类,结构相同,现在想把A类里的成员的值都赋给B类(包括私有,公有,受保护)。该怎么做?直接=是不行的。可别说一个一个字段赋值过去,程序不能写死
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
charles_y
2006-10-27
打赏
举报
回复
B b;
a=b;
重载A的 = 运算符
public void operator =( B b)
{
x=b.x;
y=b.y;
.....
}
然后就可以 a=b了
frank_zu
2006-10-27
打赏
举报
回复
同意clone()的做法,满足你的要求.
jauntlin
2006-10-27
打赏
举报
回复
没人回答吗?结不了帖啊
lovefootball
2006-10-27
打赏
举报
回复
别人已经告诉了你方法
你为什么不试着自己去写代码呢?
看看有关反射的例子
using System.Reflection;
object o = ...;
Console.WriteLine(o.GetType().Name);
foreach (PropertyInfo pi in o.GetType().GetProperties(BindingFlags.Public|BindingFlags.NonPublic|BindingFlags.Instance))
{
object v = pi.GetValue(o,null);
Console.WriteLine("{0}={1}", pi.Name, v);
}
利用PropertyInfo的GetValue和SetValue完全可以满足你的要求
liujia_0421
2006-10-26
打赏
举报
回复
运算符重载,或者直接赋值吧。。
jauntlin
2006-10-26
打赏
举报
回复
当然有可能出现结构相同,但所以命名空间不一样的情况,类名也不同。
Ivony
2006-10-26
打赏
举报
回复
A类和B类都为实体类,结构相同
结构相同你整两个类干吗?
jauntlin
2006-10-26
打赏
举报
回复
不考虑继承的情况,该怎么做?谁帖代码上来通BUILD过就结帖
lovefootball
2006-10-26
打赏
举报
回复
加一个Clone 的方法
用反射实现~~~
lovvver
2006-10-26
打赏
举报
回复
用反射,一个一个写。
yeerh
2006-10-26
打赏
举报
回复
A类和B类都为实体类,结构相同........
____________________________________
那A可以继承于B...就实现了A到B的隐式转换..
yeerh
2006-10-26
打赏
举报
回复
实现A到B的显示转换.....
elivehai
2006-10-26
打赏
举报
回复
copy不可以吗?
我不懂电脑
2006-10-26
打赏
举报
回复
那就用继承的方式。然后直接转换成基类赋值。
boat2002w
2006-10-26
打赏
举报
回复
运算符重载,只能这样了
jijl2001
2006-10-26
打赏
举报
回复
只能这么搞,
C#
两个
结构
相同
的
类
进行
赋值
假入
两个
类
A
类
和B
类
不有任何继承关系,它们属性名
相同
,怎么给他们互相
赋值
呢?下面的方法就可以了。 public L SetProperties<T, L>(T t) where L : new() { if (t == null) { return default...
相同
结构
的
两个
类
赋值
public static D Mapper, S>(S s) { D d = Activator.CreateInstance(); try { var sType = s.GetType(); var dType = typeof(D);...主要是将
两个
具有
相同
结构
的
类
进行
一一对应
赋值
。
c#
两个
具有
相同
属性的
类
赋值
两个
具有
相同
属性的
类
赋值
public static D Mapper<D, S>(S s) { D d = Activator.CreateInstance<D>(); try { var sType = s.GetType(); var dType = typeof(D); foreach (PropertyInfo sP in ...
java
两个
类
相同
属性值
赋值
} /** * 第一种方法 * @param target 需要
赋值
的对象 * @param source 数据源 */ public static void setTargetFromSource(Object target, Object source) { if (target == null || source == null) { return;...
java 给
两个
类
的
相同
属性
赋值
* @param class1 用于
赋值
的实体
类
* @param class1 需要待
赋值
的实体
类
* 描述:反射实体
类
赋值
*/ public static void reflectionAttr(Object class1,Object class2) throws Exception{ Class clazz1 = ...
C#
111,092
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章