2012-07-26 1 views
-1

안녕하세요, C#으로 버튼을 만들려고합니다. IP 주소가 첨부 된 txt 파일의 메시지 상자를 생성해야합니다. 그러나 내가 수정할 수없는 오류가 발생하고 있습니다. 나는 내 리턴 타입이 섞여 있다고 생각한다. 그리고 나는 항상 코드에 문제가있다.반환 유형에 혼란스러워하기

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

"그러나 수정할 수없는 오류가 발생했습니다." 오류 메시지를 표시 할 수 있습니까? –

+0

[so]에 오신 것을 환영합니다. 왜'configfile.ReadLine();'을 두 ​​번해야하고, true가 선언 된 곳은 어디입니까? –

답변

2

"getIPAddress"함수는 문자열을 반환해야합니다. 그러나, 당신은 부울 (false)를 반환합니다. 나는 당신이 정말로 'X'를 돌려 줄 필요가 있다고 생각한다. 또한 MessageBox.Show (trueIP)의 결과를 정말로 반환하고 싶지는 않습니다.

0

String을 반환하기 위해 getIPAddress을 선언했지만 이후에 DialogResultbool을 반환하려고합니다.

getIPAddress이 수행해야하는 작업을보다 정확하게 정의해야하는 것처럼 들립니다. 함수 시그니처는 하나 이상의 IP 주소를 포함하는 문자열 (또는 문자열 집합)을 반환한다는 것을 의미하지만 코드에서 원하는 것으로 보이는 첫 번째 IP 주소가있는 메시지 상자를 팝업하는 것입니다.

2

문자열을 반환 할 것으로 예상하는 함수에서 부울을 반환합니다. 따라서이 :

private String 

은 반환이 허용이되지 ..is :

return (false); 

.. 또는

return MessageBox.Show(trueIP); 

..false 부울하고 쇼() 메소드가 반환 DialogResult 함수는 문자열을 반환해야합니다.

관련 문제