Interface F#接口实现

Interface F#接口实现,interface,f#,Interface,F#,假设我在C#中有这个接口,并希望在F中实现它# 我希望用F#实现这个接口,但是我想不出正确的语法。我有这样的想法: type public Batch = interface IBatch with member f.Connection with get() = new Devart.Data.Oracle.OracleConnection() and set value = () 我得到的错误是: 此表达式应具有I

假设我在C#中有这个接口,并希望在F中实现它#

我希望用F#实现这个接口,但是我想不出正确的语法。我有这样的想法:

type public Batch = 
    interface IBatch with
        member f.Connection 
            with get() = new Devart.Data.Oracle.OracleConnection()
            and set value = ()
我得到的错误是:

此表达式应具有IDbConnection类型,但此处具有Devart.Data.Oracle.OracleConnection类型

F#不像C#那样实现隐式向下转换,您需要具有

type public Batch = 
    interface IBatch with
        member f.Connection 
            with get() = new Devart.Data.Oracle.OracleConnection() :> System.Data.IDbConnection
            and set value = ()

啊。我知道我遗漏了一个简单的语法细节。谢谢我会在10分钟内接受你的回答
type public Batch = 
    interface IBatch with
        member f.Connection 
            with get() = new Devart.Data.Oracle.OracleConnection() :> System.Data.IDbConnection
            and set value = ()