我正在尝试在 IEvent 之上创建一个需要其他方法的接口,如下所示:
type Varying<'t> =
abstract member Get : unit -> 't
abstract member Set : 't -> unit
abstract member AddHandler : Handler<'t> -> unit
abstract member RemoveHandler : Handler<'t> -> unit
member v.Add(f) = v.AddHandler(new Handler<_>(fun _ x -> f x))
interface IEvent<'t> with
member c.AddHandler(h) = c.AddHandler(h)
member c.RemoveHandler(h) = c.RemoveHandler(h)
member c.Add(f) = c.Add(f)
我添加了Get
&Set
方法。问题是 F# 编译器希望我实现抽象成员:
没有为“抽象成员 Varying.AddHandler : Handler<'t> -> unit”提供实现
但是这种类型的要点是成员是抽象的。我究竟做错了什么?