作者SDNiceBoat (NiceBoat.)
看板C_Sharp
标题[问题] 常常遇到类似的程式吗
时间Sun Aug 15 22:11:38 2010
因为数据更新起来的计算比较复杂
为了避免在大量写入时造成效能变差
因此设计成更新、写入数值的动作分开
但这样一来,如果栏位一多,就会出现一堆类似的程式码
请问有办法让重复的工作减少吗?
还是只能一个一个栏位去写get set?
===================================================================
public class A
{
private bool isChange =
false;
public bool IsChange {
get {
return this.isChange; } }
private string name =
"未命名";
public string Name
{
get
{
if (this.isChange)
this.Reflash();
return this.name;
}
set
{
this.isChange =
true;
this.name =
value;
}
}
private int number = 0;
public int Number
{
get
{
if (
this.isChange)
this.Reflash();
return this.number;
}
set
{
this.isChange =
true;
this.number =
value;
}
}
public void Reflash()
{
this.isChange =
false;
//do something reflash
}
}
==============================================================
第二个问题
如果要拷贝一个class
请问该怎麽做?
例如有个Class A
A a =
new a();
A b
b = a;
//错误! 复制的是参照!
我是想在Class A中加入一个GetCopy方法,然後取得复制
public A GetCopy()
{
A b =
new b()
b.name =
this.name;
b.number =
this.number;
(略)
return b;
}
栏位少的话还好,但栏位一多的话......
就很麻烦了......
万一有二十几个栏位,就得一个一个慢慢打
而且一漏掉就会出问题
--
20330
6/17 - □ (本文已被吃掉)
干!这梗有毒...救命~~
20331
6/17 - □ (本文已被吃掉)
〒 〒 ◤
20332
1 6/17 - □ (本文已被吃掉)
▼▼▼▼
20333
XX 6/17 - 囧 (哈哈拎北有毒)
\▲▲▲▲\ =
●20334
1 6/17 - □ (本文已被吃掉)
20335 6/17 - □ (本文已被吃掉)
口卡口卡尝百草
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.27.109.99
2F:→ SDNiceBoat:看不太懂,不过还是谢谢1F 08/15 23:40
4F:→ deuter:clone可以先serialize後 再deserialize成物件 08/15 23:51
6F:→ deuter:第一个问题通常可以用 entity framework 08/16 00:04
7F:→ deuter:如果不能使用的话 也可以自己写一个简单的tool来产生程式码 08/16 00:04
8F:→ SDNiceBoat:谢谢,正在努力了解中 08/16 08:26