我正在尝试用 F# 重写一个小型 C# 库,但遇到了错误。我试图为模块中的方法定义可选参数,但编译器说“可选参数仅允许在类型成员上使用”。
我查过为什么你不能在松散的函数中使用它们 https://stackoverflow.com/questions/946159/f-why-cant-i-use-optional-parameters-in-loose-functions but 打字时static member or member我收到另一个错误 https://stackoverflow.com/q/56597149/1275774反而。
module Kingdom =
let Rule (?years : int) =
()
我认为这会起作用,因为这就是我在阅读完之后所理解的你输入的方式微软文档 https://learn.microsoft.com/en-us/dotnet/fsharp/language-reference/parameters-and-arguments#optional-parameters关于它的文章。
通过使用其他方式 https://stackoverflow.com/a/13419343/1275774要定义“静态类”,您可以添加member
到它。然后您可以使用可选参数。该类在 C# 中将显示为普通静态类。
[<AbstractClass; Sealed>]
type Kingdom private () =
static member Rule (?years : int) = ()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)