繁体   English   中英

F#接口实现

[英]F# Interface Implementation

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

public interface IBatch
{
    System.Data.IDbConnection Connection { get; set; }
}

我希望在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 = ()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM