public class DTSNode
{
private string m_Url;
/// <summary>
/// 节点URL。
/// </summary>
public string Url
{
get { return m_Url; }
set { m_Url = value; }
} private string m_NodeName;
/// <summary>
/// 节点名称。
/// </summary>
public string NodeName
{
get { return m_NodeName; }
set { m_NodeName = value; }
}
} private DTSNode[] m_Nodes;
public DTSNode[] Nodes
{
get
{
DTSNode StrReturn = new DTSNode();
XmlDocument doc = new XmlDocument();
doc.Load(System.Web.HttpContext.Current.Server.MapPath("cfg.xml"));
XmlNodeList nodes = doc.SelectSingleNode("//Nodes").ChildNodes;
XmlNodeList node = doc.GetElementsByTagName("Node");
for (int i = 0; i < nodes.Count; i++)
{
StrReturn.NodeName = node.Item(i).InnerText;
StrReturn.Url = nodes.Item(i).Attributes["Url"].Value;
if (m_Nodes == null)
{
this.m_Nodes[i].NodeName = StrReturn.NodeName;
this.m_Nodes[i].Url = StrReturn.Url;
}
}
return m_Nodes;
}
set { m_Nodes = value; }
}
}
说 this.m_Nodes[i].NodeName = StrReturn.NodeName;
this.m_Nodes[i].Url = StrReturn.Url;这两句未将对象引用设置到对象的实例。什么原因...
{
private string m_Url;
/// <summary>
/// 节点URL。
/// </summary>
public string Url
{
get { return m_Url; }
set { m_Url = value; }
} private string m_NodeName;
/// <summary>
/// 节点名称。
/// </summary>
public string NodeName
{
get { return m_NodeName; }
set { m_NodeName = value; }
}
} private DTSNode[] m_Nodes;
public DTSNode[] Nodes
{
get
{
DTSNode StrReturn = new DTSNode();
XmlDocument doc = new XmlDocument();
doc.Load(System.Web.HttpContext.Current.Server.MapPath("cfg.xml"));
XmlNodeList nodes = doc.SelectSingleNode("//Nodes").ChildNodes;
XmlNodeList node = doc.GetElementsByTagName("Node");
for (int i = 0; i < nodes.Count; i++)
{
StrReturn.NodeName = node.Item(i).InnerText;
StrReturn.Url = nodes.Item(i).Attributes["Url"].Value;
if (m_Nodes == null)
{
this.m_Nodes[i].NodeName = StrReturn.NodeName;
this.m_Nodes[i].Url = StrReturn.Url;
}
}
return m_Nodes;
}
set { m_Nodes = value; }
}
}
说 this.m_Nodes[i].NodeName = StrReturn.NodeName;
this.m_Nodes[i].Url = StrReturn.Url;这两句未将对象引用设置到对象的实例。什么原因...
解决方案 »
- Visual Studio 2008 英文版 读不出来汉字(变成乱码)?
- 为什么用反射创建不了System.Data.SqlTypes.SqlString类型
- byte[] 与string之间如何实现相互转换?
- ***********请教关于ActiveReport for .net 2005的问题?***********
- 如何在datagrid里用程序控制增加一行啊!!
- ToolBar加图标问题,为什么我的ToolBarButton在Enabled的状态为false的时候,是个黑框...
- 求判断日期格式的正则表达式,谢谢
- JS实现网页全屏
- 谁能提供一个 winform 下用水晶报表打印的例子
- winform 自动填表功能的一些问题
- c# 做windows应用程序 两个form之间如何传值?
- 俄文编码的问题
{
this.m_Nodes[i].NodeName = StrReturn.NodeName;
this.m_Nodes[i].Url = StrReturn.Url;
}
是!=,你写成==了
if (m_Nodes!=null)
{}
{}不行啊 m_Nodes本来就是=NULL 那里面语句都不执行了
{}
你换成这个试看看
if (m_Nodes!= "")
{}
this.m_Nodes[i].Url = StrReturn.Url;这两句未将对象引用设置到对象的实例。什么原因...
你定义m_Nodes本身是空
这里是你的定义private DTSNode[] m_Nodes;//m_Nodes是作为数组
尝试这样定义private List<DTSNode> m_Nodes;
private List<DTSNode> m_Nodes = new List<DTSNode>()//不初始化的话m_Nodes为null,不能拿来直接使用
第二:即使m_Nodes不为null,在你使用this.m_Nodes[i]时m_Nodes[i]是null,所以还是会异常,应该这样:
if (m_Nodes.Count - 1 < i)
{
this.m_Nodes.Add(new DTSNode());
this.m_Nodes[i].NodeName = StrReturn.NodeName;
this.m_Nodes[i].Url = StrReturn.Url;
}