2011-01-19 2 views
0

Прежде всего спасибо всем ....Декларация, ожидаемая в dll VB

В настоящее время я работаю над 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 

В следующей программе, которая является дллами то же дает ошибку говоря «Декларация Ожидаемыми для адра, 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 не содержится в методе, поэтому вы только объявляете переменные и socketAddr.

Чтобы сделать эту работу просто поставить код в методе, как:

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

Public Sub SerializeSocket (адрес As String) он будет знать, если м не так ... – user46646

+0

извините за комментарий .. .m просто новый для VB ... – user46646

+0

Эй, не беспокойтесь, я действительно пропустил комментарий. Да, вы можете поместить этот код в Sub и продолжить обработку, а не возвращать сериализованную конечную точку. Сам класс может содержать некоторые свойства, которые инициализируются при создании класса (используя Sub New()). – Tom

Смежные вопросы