我有一个名为"RecordA“的抽象类,带有一些切片逻辑,我想从中继承几个类。我希望"Record“定义一个抽象切片方法,该方法必须实现才能返回它自己的类型,例如,当sliced返回RecordB类型时,类型为"RecordB”。
在Fsharp中这是可能的吗?若否,原因为何?
发布于 2014-05-17 22:33:11
根据具体类返回不同类型的方法,接口的唯一方法是将其设为参数化:
type Record<'Concrete> =
abstract member Slice : unit -> 'Concrete
type RecordB() =
interface Record<RecordB> with
member this.Slice() = new RecordB()https://stackoverflow.com/questions/23712241
复制相似问题