5

このインターフェイスが 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 型です。

4

1 に答える 1

8

F# は C# のように暗黙的なダウンキャストを実装していません。

type public Batch = 
    interface IBatch with
        member f.Connection 
            with get() = new Devart.Data.Oracle.OracleConnection() :> System.Data.IDbConnection
            and set value = ()
于 2013-10-22T07:56:04.833 に答える