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

このようなもの:

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

使用法:

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

という引数CreateFlightを受け入れるようにメソッドを変更します。を呼び出すときは、データを抽出するノードを渡します。XmlNodeflightCreateFlight

于 2012-12-21T15:38:05.160 に答える
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 に答える