Eig*_*ite 2 inheritance f# recordtype
假设我有一个如此定义的记录......
type Employee = {Name : string; Salary : int}
Run Code Online (Sandbox Code Playgroud)
我想要另一种Salary固定的类型.我想能说...
type Manager = {Name: string; Salary : int = 250000}
Run Code Online (Sandbox Code Playgroud)
......但似乎我做不到.
我有什么选择来获得这种行为?
您可以为记录提供只读属性:
type Manager =
{
Name: string
}
member this.Salary = 250000
Run Code Online (Sandbox Code Playgroud)
FSI示例:
> let m = { Name = "Foo" };;
val m : Manager = {Name = "Foo";}
> m.Name;;
val it : string = "Foo"
> m.Salary;;
val it : int = 250000
Run Code Online (Sandbox Code Playgroud)