1分 |
就是这种机制,如果不想这样跟着改,应该考虑不用对象传递!
|
8分 |
对象是引用类型,dic和你传过去的对象指向同一块地址,修改是对同一块地址修改。 |
脑袋短路了,一语惊醒梦中人 |
|
|
|
1分 |
那就用定义两个全局变量 一个用来传递新数据库 一个用来传递老的数据
|
5分 |
1、接收DrugDictEntity的窗体,深度拷贝该对象 |
4分 |
在实体类里实现个Copy或Clone函数,需要赋值的时候调用呗
如果你只需要赋值一次,而不是到处赋值,直接属性对属性也可以. 自定义实体类只能属性赋值给属性,你得自己实现深拷贝 |
我现在是这么赋值的,但是不能直接相等赋值,因为这样的话两个对象指向的是同一个地址,这样修改其中一个对象的话,则另一个也会修改,这并不能实现我所要实现的修改日志 |
|
我去,我直接是这么写的,居然可以?
DrugDictEntity drugOld = new DrugDictEntity(); //定义一个老数据对象变量 |
|
1分 |
赋值的时候只能是基本类型的赋值给基本类型的,如果是引用类型的肯定就不行了。如果里面还有引用类型的话,就还需要进一步把里面的值也给克隆一下。
int ID = 0; Public void Clone(DrugDictEntity oldData) |