将foreach-loop更改为包含XmlNode的方法
本文关键字:XmlNode 方法 包含 foreach-loop | 更新日期: 2023-09-27 17:49:24
我使用名为"flights"的XmlNodeList进行foreach循环。所以foreach本身看起来像这样:
foreach (XmlNode flight in flights)
{
*code*
}
在这个foreach-loop中,我使用这个(这里我设置了一个标签)获得了几个字符串:
callsign.Text = flight.Attributes.GetNamedItem("callsign").Value;
但是现在,我不再需要foreach了,我需要使用相同的代码作为方法。但是当我用
重写前面提到的每一行时 public void CreateFlight()
表示我使用flight.Attributes.GetNamedItem
等的所有地方。"名称"flight"在当前上下文中不存在".
像这样:
public string CreateFlight(XmlNode flight)
{
return flight.Attributes.GetNamedItem("callsign").Value;
}
用法:
callsign.Text = CreateFlight(flight);
更改CreateFlight
方法以接受XmlNode
参数flight
。当调用CreateFlight
时,传入要从中提取数据的节点。
您需要将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);
}