读书人

一个传入对象的有关问题

发布时间: 2012-01-26 19:40:46 作者: rapoo

一个传入对象的问题
.......
//--设置节点的信息,并且节点下移
void SetInnerXml(XmlNode xn, string sXmlStr)
{
xn.InnerXml = sXmlStr;
xn = xn.NextSibling;
}

........
调用XmlNode xn=XmlDocument1.FirstChild;
SetInnerXml(xn, "value ");
竟然发现xn节点没有指向他的下一个兄弟节点,怎么回事???

[解决办法]
up
[解决办法]
帮顶`~
[解决办法]
友情帮顶。。。
[解决办法]
void SetInnerXml(XmlNode xn, string sXmlStr)
{
xn.InnerXml = sXmlStr;
xn = xn.NextSibling;
^^^^^^^^^^^^^这里你重新对xn付值,这样你函数的调用方时没有改变到的
}

// 调用前xn是对象1
SetInnerXml(xn, sXmlStr); // 在函数里面,sn被改了
// 调用后xn还是对象1,因为函数定义没有用引用
[解决办法]

[解决办法]
void SetInnerXml(XmlNode xn, string sXmlStr)
{
xn.InnerXml = sXmlStr;
XmlNode next = xn.NextSibling;
xn.ParentNode.RemoveChild(next);
xn.ParentNode.InsertBefore(next,xn);
}
[解决办法]
....................................................

读书人网 >C#

热点推荐