-1

こんにちは、C# でボタンを作成しようとしています。添付の txt ファイルの IP アドレスに関するメッセージ ボックスが表示されます。しかし、修正できないエラーが発生しています。戻り値の型が混同されていると思います。ここにコードがあることに常に問題がありました。

private String getIPAddress()
    {

        String x;

        using (TextReader configfile = File.OpenText("PC104Configs.txt"))
            while (configfile.Peek() > -1)  // If therre are no more characters in this line
            {
                x = configfile.ReadLine();

                if (x.Length == 0)
                {
                    // This is a blank line
                    continue;
                }

                if (x.Substring(0, 1) == ";")
                {
                    // This is a comment line
                    continue;
                }

                if (x == trueIP)
                {
                    // This is the real deal
                    testPort = configfile.ReadLine();
                    testIP = trueIP;
                    return MessageBox.Show(trueIP);
                }
            }  // End of 'while' there are more characters loop

        UnitToTest.Text = "";

        MessageBox.Show("Specified Configuration Not Found!");

        return (false);
    }


    private void btnSendConfig_Click(object sender, EventArgs e)
    {
        getIPAddress();
    }
4

3 に答える 3

2

まず、「getIPAddress」関数は文字列を返すはずです。ただし、ブール値 (false) を返します。本当に「X」を返す必要があると思います。また、本当に MessageBox.Show(trueIP) から結果を返したいとは思いません。

于 2012-07-26T01:18:08.717 に答える
2

文字列を返すことを期待している関数からブール値を返しています。したがって、これは:

private String

..返すことはできません。これは次のとおりです。

return (false);

..また

return MessageBox.Show(trueIP);

..false はブール値で、Show() メソッドは DialogResult を返します。関数は文字列を返す必要があります。

于 2012-07-26T01:19:01.120 に答える
0

getIPAddressa を返すと宣言してStringいますが、その後 aDialogResultと aを返そうとしていboolます。

getIPAddressをすべきかをより正確に定義する必要があるようです。関数のシグネチャは、1 つ以上の IP アドレスを含む文字列 (または文字列のセット) を返すことを暗示していますが、コードで実行したいことは、最初に見つかった IP アドレスをメッセージ ボックスに表示することです。

于 2012-07-26T01:18:45.383 に答える