2011-01-19 63 views
0

首先感谢大家....声明预计在VB dll

我目前正在使用VB。我正在使用Visual Studio 2008.

下面的代码段是一个控制台应用程序,它的构建没有任何错误。

Imports System.Net 


Module Module1 

    Public Sub Main() 

     Dim address As IPAddress 
     Dim remoteIP As System.Net.IPEndPoint 
     Dim socketAddress As System.Net.SocketAddress 

     Try 
      address = IPAddress.Parse("192.168.0.187") 
      remoteIP = New System.Net.IPEndPoint(address, 0) 

      socketAddress = remoteIP.Serialize() 

      Console.WriteLine("Address Family :" & remoteIP.AddressFamily.ToString()) 
      Console.WriteLine("IP :" & remoteIP.Address.ToString() & "Port :" & remoteIP.Port.ToString()) 
      Console.WriteLine("Socket address :" & socketAddress.ToString()) 


     Catch ex As Exception 
      Console.WriteLine(ex.StackTrace.ToString()) 


     End Try 

    End Sub 


End Module 

在接下来的计划,是一个dll一样给出错误说“宣言预期的地址,REMOTEIP和socketAddr”

Imports System.Net 

Public Class Class1 


End Class 
Public Class ethernet 

    Dim addr As IPAddress 
    Dim remoteIP As System.Net.IPEndPoint 
    Dim socketAddr As System.Net.SocketAddress 

    addr = IPAddress.Parse("192.168.0.187") 
    remoteIP = New System.Net.IPEndPoint(addr,0) 

    socketAddr = remoteIP.Serialize() 



End Class 

谁能告诉我为什么会这样...

回答

1

您在第二类ethernet中的代码未包含在方法中,因此您只声明了addr, remoteIPsocketAddr变量。

,使这项工作只是把代码中的方法,如:

Public Class ethernet 
    Public Function SerializeSocket(address As String) As System.Net.SocketAddress 
     Dim addr As IPAddress = IPAddress.Parse("192.168.0.187") 
     Dim remoteIP As System.Net.IPEndPoint = New System.Net.IPEndPoint(addr,0) 
     Return remoteIP.Serialize() 
    End Sub 
End Class 
+0

公用Sub SerializeSocket(地址作为字符串)将它知道如果M没有错...... – user46646 2011-01-19 12:43:10