您可以在C#抽象类中声明方法abstract override
。您可以这样做以强制派生类型提供System.Object
的基本方法的实现,如ToString()
。在C#中看起来像这样:
public abstract class Base
{
public abstract override string ToString();
}
这可能在F#中吗?
答案 0 :(得分:3)
我不确定F#是否等同于abstract override
。你可以这样做以获得相同的行为:
[<AbstractClass>]
type Base() =
abstract GetString: unit -> string
override this.ToString() = this.GetString()
然后你只需在派生类型中覆盖GetString
。
答案 1 :(得分:3)
F#规范说明了以下关于抽象成员的内容:
抽象成员定义的格式为:
abstract access opt member-sig
因此,似乎不可能。