【发布时间】:2017-12-20 15:55:25
【问题描述】:
我有一个接口,它接受一个泛型参数并有一个抽象方法
type MyInterface<'a> =
abstract member abstractMethod: 'a -> 'a
...我有一个派生类,它使用 unit 作为类型参数继承自基类
type Derived() =
interface MyInterface<unit> with
override this.abstractMethod (_) = ()
但编译器抱怨说
错误成员 'abstractMethod : unit -> unit' 没有 正确的类型来覆盖相应的抽象方法。
如果我使用其他类型而不是单位,例如 int,则代码会编译。
这是编译器中的错误吗?有解决办法吗?
谢谢!
【问题讨论】:
-
您对
abstractMethod的覆盖没有签名unit -> unit--它采用未指定类型的参数(名为_)。 -
查看stackoverflow.com/questions/40283165/… 以及从那里链接的其他问题。
标签: f#