我有一个使用名为“flights”的XmlNodeList的foreach循环。所以foreach本身看起来像这样:
foreach (XmlNode flight in flights)
{
*code*
}
并且在这个foreach循环中我使用这个获得了几个字符串(这里我设置了一个标签):
callsign.Text = flight.Attributes.GetNamedItem("callsign").Value;
但是现在,我不再需要foreach了,我需要使用相同的代码作为方法。但是当我用
重写上面提到的foreach行时 public void CreateFlight()
它告诉我在哪里使用flight.Attributes.GetNamedItem
等等。“当前上下文中不存在名称”flight“。
答案 0 :(得分:2)
您需要将flight
对象传递给方法,或者在方法内创建一个新对象。鉴于我怀疑后者的名字:
public void CreateFlight()
{
XmlNode flight = new XmlNode();
// The rest of your code
// Do something with the flight object?
}
但是这只会创建一个空对象,你需要从某个地方填充它。但是,您的使用和评论意味着您需要以下内容:
public string CreateFlight(XmlNode flight)
{
return flight.Attributes.GetNamedItem("callsign").Value;
}
然后你会这样称呼它:
foreach (XmlNode flight in flights)
{
string callSign = CreateFlight(flight);
}
答案 1 :(得分:2)
这样的事情:
public string CreateFlight(XmlNode flight)
{
return flight.Attributes.GetNamedItem("callsign").Value;
}
用法:
callsign.Text = CreateFlight(flight);
答案 2 :(得分:2)
更改CreateFlight
方法以接受名为XmlNode
的{{1}}参数。当您致电flight
时,请传入您要从中提取数据的节点。