c#函数中处理对象的问题
今天做了个程序,里面有个函数处理传入的对象,需要的效果是函数中处理完对象后对象能被返回,结果对象返回null值;
开始程序如下:
|
public partial class Form1 : Form private void DoPayInfo(PayInfoBean pinfo) { private void button1_Click(object sender, EventArgs e) public class PayInfoBean public string Tips public string ResultCode public string Msg } |
于是在网上各种找资料,终于解决问题。代码修改如下:
|
public partial class Form1 : Form private void DoPayInfo(PayInfoBean pinfo) { newpinfo.CopyProperty(pinfo); //复制对象引用到传入的对象中 private void button1_Click(object sender, EventArgs e) public class PayInfoBean public void CopyProperty(PayInfoBean dest) public string Tips public string ResultCode public string Msg } |
最后问题终于解决了,发现在函数中不能将传入的对象重新创建,如果重新创建对象,传入的对象指针就会改变;而我之所以必须用传入对象进行处理,是因为之前的函数早就存在,那个对象是后来加入的,为了不改变原来函数的返回值,所以必须用传入对象处理;
参考资料:http://www.cnblogs.com/lidabo/archive/2012/03/12/2392304.html
浙公网安备 33010602011771号