【发布时间】:2023-03-23 03:53:01
【问题描述】:
rvm 是一个对象,而不是一个函数。
为什么约束(^b:(member ReportSubTitle:(String -> unit)) rvm ) 是作为getter 而不是setter?这是工具提示问题还是其他问题?
在我使用静态类型泛型的所有其他地方,我发现我什至根本不需要告诉它类型。这也不起作用:
// Setup the sub title with the total
let subTitleSetter = (^b:(member ReportSubTitle:_) rvm )
subTitleSetter ("Total: " + total.ToString("C") )
将此尝试移动到一个函数中并尝试了@kvb 的建议
这是rvm 在封闭范围/方法中的唯一用途
【问题讨论】:
-
尝试不使用成员类型周围的括号:
ReportSubTitle:String->unit。这将方法与函数值属性区分开来。 -
试过了,“预期 2 个表达式,得到 1 个”
-
您必须同时提供
rvm和test作为参数(作为语法元组)。
标签: f# duck-typing structural-typing