马尔科·格丁尼奇(Marko Grdinic)
type Test() =
member t.A(a: int -> int) (b: int) = ()
let cl = Test()
let f a b =
(^a : (member A: (int -> int) -> int -> unit) cl, a, b)
上面说过,它找不到成员或对象构造函数A
。是否可以使上述内容以某种方式工作?
古斯
不,没有更改它的定义就无法调用它。我不确定它是否在规范中,但您可以在源代码中找到该限制,以将咖喱成员过滤掉。
无论如何,如果您要使用咖喱参数,则可以使用lambda函数,它将起作用:
type Test() =
member t.A(a: int -> int) = fun (b: int) -> ()
let cl = Test()
let f a b =
(^a : (member A: (int -> int) -> (int -> unit)) cl, a) b
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
编辑于
我来说两句