【发布时间】:2019-06-06 06:57:42
【问题描述】:
您好,我在 f# 中有一个扩展方法,用于检查 TcpClinet 是否已连接,它是相当简单的代码:
[<Extension>]
type TcpExtension() =
[<Extension>]
static member inline IsConnectionEstablished(client: TcpClient) : bool =
let ipProperties : IPGlobalProperties = IPGlobalProperties.GetIPGlobalProperties()
let tcpConnection : Option<TcpConnectionInformation> = ipProperties.GetActiveTcpConnections() |> Seq.tryFind(fun connection -> connection.LocalEndPoint.Equals(client.Client.LocalEndPoint) && connection.RemoteEndPoint.Equals(client.Client.RemoteEndPoint))
match tcpConnection with
| Some connection -> true
| None -> false
现在我尝试简单地使用它:
let private WaitForData (client : TcpClient) =
let isConnectionAlive : bool = client.IsConnectionEstablished
isConnectionAlive
但我收到的消息如下:
这个函数接受了太多参数,或者在不期望函数的上下文中使用
当我检查 Microsoft 文档时,这是他们显示的处理方式,我在这里遗漏了什么?
【问题讨论】:
标签: f#