1
let test_smtp (smtp_server_address : string) (port : int) =
let hostEntry : IPHostEntry = Dns.GetHostEntry(smtp_server_address)
let endPoint : IPEndPoint = new IPEndPoint (hostEntry.AddressList[0], port)
(use tcpSocket = new Socket(endPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp)
tcpSocket.Connect(endPoint)
)
在上面的不完整代码段,IPEndpoint必须上传吗?为什么?
let endPoint : IPEndPoint = new IPEndPoint (hostEntry.AddressList[0], port)
产生两个错误。第一个表示找不到适当的重载方法。
第二误差,这是我以前没有见过,是
This value is not a function and cannot be applied.
我通过具有分配给的IPAddress单独let语句分离这对hostEntry.AddressList[0]
,并映射到该行的错误(不包括在上面的示例中)。
我已经看到一些关于F#的文章无法上传,但我仍然有点困惑,为什么会出现这个错误。
您需要使用'[0]'索引到一个集合 - 否则它解析为应用功能到列表'[0]'。 – kvb