现在我正在将一个 VB6 项目移植到 C# 并不断收到此错误。似乎无法在命名空间中修复它。
问题:
//Expected class, delegate, enum, interface, or struct
public string GetHostByAddress(long addr)
{
dynamic phe = null;
dynamic Ret = null;
HOSTENT heDestHost = default(HOSTENT);
dynamic hostname = null;
phe = gethostbyaddr(addr, 4, PF_INET);
if (phe) {
MemCopy(heDestHost, phe, hostent_size);
hostname == new String[256, 0];
MemCopy(hostname, heDestHost.h_name, 256);
GetHostByAddress == Strings.Left(hostname, Strings.InStr(hostname, Strings.Chr(0)) - 1);
} else {
GetHostByAddress = WSA_NoName;
}
}
原始方法看起来像这样。
Public Function GetHostByAddress(ByVal addr As Long) As String
Dim phe&, Ret&
Dim heDestHost As HOSTENT
Dim hostname&
phe = gethostbyaddr(addr, 4, PF_INET)
If phe Then
MemCopy heDestHost, ByVal phe, hostent_size
hostname = String$(256, 0)
MemCopy ByVal hostname, ByVal heDestHost.h_name, 256
GetHostByAddress = Left$(hostname, InStr(hostname, Chr$(0)) - 1)
Else
GetHostByAddress = WSA_NoName
End If
End Function
无法理解为什么它不起作用并感到沮丧。有什么建议么?