小编san*_*tel的帖子

对作为选项返回的一次性对象使用样式绑定

想知道是否有一种优雅的方式来完成以下任务:

我有一个创建Disposable的函数并将其作为选项返回.呼叫者匹配它.现在,由于包装对象被绑定到匹配大小写内部,我不知道如何在匹配内部进行"使用"样式绑定,以便正确处理对象.

let createSocket (hostEntry:IPHostEntry) =
    let httpPort = 80
    let endpoint = new IPEndPoint(hostEntry.AddressList.[0], httpPort)
    let socket = new Socket(endpoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp)
    socket.Connect(endpoint)
    if (socket.Connected) then Some socket else None

let fetchResource url =
    let uri = new System.Uri(url)
    let hostEntry = Dns.GetHostEntry(uri.Host)
    match createSocket(hostEntry) with
    | Some socket ->
        use s = socket // More elegant way?
        sendRequest s uri.Host uri.PathAndQuery |> getResponse
    | None ->
        "Failed to open socket"
Run Code Online (Sandbox Code Playgroud)

f#

7
推荐指数
1
解决办法
173
查看次数

标签 统计

f# ×1