cNews A=new cNews();
A.a="1";
A.b="2";
A.c="3";我想实现B,B与A的属性基本相同,只有B.c="4";方法一:
cNews B=new CNews();
B.a="1";
B.b="2";
B.c="4";是否有更简单的办法可以实现B=A,但可以另外对B.c赋值?
我试过:
cNews B=A;
B.c="4";
这样不行,会把A.c的值也变过来了,不知道为什么。
A.a="1";
A.b="2";
A.c="3";我想实现B,B与A的属性基本相同,只有B.c="4";方法一:
cNews B=new CNews();
B.a="1";
B.b="2";
B.c="4";是否有更简单的办法可以实现B=A,但可以另外对B.c赋值?
我试过:
cNews B=A;
B.c="4";
这样不行,会把A.c的值也变过来了,不知道为什么。
{ string _c;
public string c
{
get{return _c;}
set{_C = value;}
}
public b() : base()
{ }
}
如果是两个不同的对象,那么你可以试试让cNews类实现ICloneable接口,实现一个深拷贝
B的属性等于A的属性,但并不是全部相同,有一个不相同,就是B.C这个属性不相同。
{
public String A
{
get { return a; }
set { a = value; }
} public String B
{
get { return b; }
set { b = value; }
} public String C
{
get { return c; }
set { c = value; }
} private String a;
private String b;
private String c; #region ICloneable Members public object Clone()
{
CNews cNews = new CNews();
cNews.A = this.A;
cNews.B = this.B;
cNews.C = this.C; return cNews;
} #endregion
}生成两个CNews对象
CNews news1 = new CNews();
news1.A = "1";
news1.B = "2";
news1.C = "3";CNews news2 = news1.Clone() as CNews;
news2.C = "4";
LorenLiu 用的是继承的办法。但这样要做多一个类,而且我的结果是不断的循环的,所以不太实际。