0

我有一个使用称为“航班”的 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等的任何地方都说。“当前上下文中不存在名称“航班”。

4

3 回答 3

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);
}
于 2012-12-21T15:35:18.853 回答
2

像这样的东西:

public string CreateFlight(XmlNode flight)
{
    return flight.Attributes.GetNamedItem("callsign").Value;
}

用法:

callsign.Text = CreateFlight(flight);
于 2012-12-21T15:37:48.073 回答
2

更改CreateFlight方法以接受XmlNode名为 的参数flight。调用 时CreateFlight,传入要从中提取数据的节点。

于 2012-12-21T15:38:05.160 回答