unit 然后我想让它成为一个类的成员: type MyClass(-6ren">
gpt4 book ai didi

generics - F#:函数参数默认为类中的 obj

转载 作者:行者123 更新时间:2023-12-02 08:04:03 25 4
gpt4 key购买 nike

我创建了一个简单的函数:

let myGenericFunc abc = printfn "%A" abc

其类型为:

'a -> unit

然后我想让它成为一个类的成员:

type MyClass() =
member x.Func = myGenericFunc

但是,“Func”的类型现在是

obj -> unit

此外:如果我明确参数,一切都会恢复正常:

type MyClass() =
// Func : 'a -> unit
member x.Func y = myGenericFunc y

问题是:会发生什么?!

最佳答案

您的第一个 x.Func 正在定义一个属性,而不是一个方法,并且由于属性不能是通用的,因此必须使用 'a 的具体类型。

当您定义x.Func y时,您正在创建一个方法,并且该方法可以是通用的。

关于generics - F#:函数参数默认为类中的 obj,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27399142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com