2013-03-04 55 views
0

試圖解決從主機名獲取IP,但我在RetIP上得到這個警告: (在Return RetIP行上) 「變量'RetIP'在它被分配一個值之前被使用,在運行時會產生一個空引用異常。 「在分配值之前已經使用了變量?

Public Function GetIPFromHostname(ByRef Host As String) As System.Net.IPAddress() 
    Dim IP As System.Net.IPHostEntry 
    'Dim host As System.Net.IPHostEntry 
    Dim RetIP As System.Net.IPAddress() 
    Try 
     'Host = System.Net.Dns.GetHostByAddress(IP) 
     IP = System.Net.Dns.GetHostEntry(Host) 
     RetIP = IP.AddressList() 
    Catch ex As Exception 
     Console.WriteLine("Cannot resolve IP address from hostname ({0}) - {1}", Host, ex.Message) 
    End Try 

    Return RetIP 
End Function 

此代碼用於在VB 2008和2010中工作,但現在不起作用。任何想法我在這裏失蹤?

回答

0

警告是完全正確的;如果你在2008年沒有得到它,那是因爲微軟修復了一個錯誤。

如果引發異常,則該變量將不會被設置。

+0

我在VB 2008中收到了同樣的錯誤,並且現在已經升級到2010年時收到了同樣的錯誤。你知道修復是什麼嗎?我已經應用了VB 2010 SP1。謝謝。 – Michaelj 2013-03-05 15:23:37

相關問題