如何使用多个参数在F#中隐藏类型方法?
除了最简单的类型外,我不知道如何进行duck键入。这里我得到了错误如何使用多个参数在F#中隐藏类型方法?,f#,duck-typing,F#,Duck Typing,除了最简单的类型外,我不知道如何进行duck键入。这里我得到了错误预期的3个表达式,得到了2个。我不知道这是什么意思。就像这样: /// Sets a dependency property let inline setDP (prop: DependencyProperty) (v: obj) (target: ^a when ^a: (member SetValue: DependencyProperty * obj -> unit)) = ( ^a : (member Set
预期的3个表达式,得到了2个。我不知道这是什么意思。就像这样:
/// Sets a dependency property
let inline setDP (prop: DependencyProperty) (v: obj) (target: ^a when ^a: (member SetValue: DependencyProperty * obj -> unit)) =
( ^a : (member SetValue: DependencyProperty * obj -> unit) (prop,v))
target
我很惊讶这句话的语法有多古怪。这和结构语法无疑是F#的两个弱点。类似于这样:
/// Sets a dependency property
let inline setDP (prop: DependencyProperty) (v: obj) (target: ^a when ^a: (member SetValue: DependencyProperty * obj -> unit)) =
( ^a : (member SetValue: DependencyProperty * obj -> unit) (prop,v))
target
我很惊讶这句话的语法有多古怪。这和结构语法无疑是F#的两个弱点。注意,您不需要在方法签名中指定(duck)类型。编译器将为您解决这个问题。请注意,您不需要在方法签名中指定(duck)类型。编译器会帮你弄明白的。