的類別:可選參數
type NotAbstract() =
member this.WithOptionalParameters (x, ?y) =
let y = defaultArg y 10
x + y
具有以下類型簽名:
type NotAbstract =
class
new : unit -> NotAbstract
member WithOptionalParameters : x:int * ?y:int -> int
end
然而,這不起作用:
[<AbstractClass>]
type AbstractExample() =
abstract WithOptionalParameters: int * ?int -> int /// Ouch...
type NotAbstract() =
inherit AbstractExample()
override this.WithOptionalParameters (x, ?y) =
let y = defaultArg y 10
x + y
怎麼寫具有可選參數的函數抽象定義中的正確類型簽名?我沒有找到任何提示here。
PS:據我所知,(類似)的結果可能與polymorphism
F#方式是使用Option類型而不是(更原始的)可空類型。 –