【发布时间】:2011-04-26 11:40:06
【问题描述】:
我正在使用一个对象表达式来实现两个接口。接口之一是 IDisposable。我希望能够在此对象表达式的结果中使用“use”关键字,但出现错误:
类型约束不匹配。方式 IConnMan 与类型不兼容 IDisposable 类型 'IConnMan' 不是 与类型兼容 '一次性'
为什么会出现此错误?
let connectionstring = "context connection=true"
let connman () =
let conn = new SqlConnection(connectionstring)
conn.Open()
{ new IConnMan with
member x.Connect () = conn
member x.Disconnect c = ()
interface IDisposable with
member x.Dispose() =
conn.Close()
conn.Dispose()
}
...
let f() =
use cn = connman() // <-- Error!
【问题讨论】:
标签: f#