【发布时间】:2016-01-10 17:26:16
【问题描述】:
我有一个带有抽象成员的抽象类。 我想将此成员继承到不同的类,并将成员的覆盖设为静态。
类似这样的:
[<AbstractClass>]
type Parent() = class
abstract member Att : int
end;;
type Son() = class
inherit Parent()
static override Att = 10
end;;
type Daughter() = class
inherit Parent()
static override Att = 20
end;;
或者
[<AbstractClass>]
type Parent() = class
static abstract member Att : int
end;;
或
[<AbstractClass>]
type Parent() = class
abstract static member Att : int
end;;
然后所有儿子的 Att=10,所有女儿的 Att=20。 这不起作用。
有没有办法让它工作?
【问题讨论】:
-
解决方案是否要求您使用静态?或者该解决方案是否要求一旦创建了儿子 Att=10 并且一旦创建了女儿 Att=20 就不能更改它们?例如只读。
-
Readonly 实际上解决了这个问题。非常感谢。
标签: inheritance static f# overriding