F#接受以下内容:
type Abc =
member this.A = 10
由于未提供参数列表,因此没有默认构造函数。可以将构造函数添加到Abc
吗?如果没有,Abc
可以做些什么?
答案 0 :(得分:5)
我想不出很多用途,但你可以做的两件事是
type Abc =
member this.A = 10
[<Class>]
type Def =
inherit Abc
type Abc with
static member Foo() = ()
在C#中,接口或抽象类的代码合约在“合同类”中定义,该合同类必须标记为抽象并具有私有构造函数(即,它是不可实例化的)。在我看来,这是实现这一目标的更好方法。但是C#不支持无构造函数的类。