这有效:
type MyType () =
static member MyFn (fn : Func<bool>) = fn.Invoke ()
MyType.MyFn (fun _ -> false)
Run Code Online (Sandbox Code Playgroud)
这不(错误FS0002):
let myFn (fn : Func<bool>) = fn.Invoke ()
myFn (fun _ -> false)
Run Code Online (Sandbox Code Playgroud)
这也不是(错误FS0002):
type MyDU = Fn of Func<bool>
Fn (fun _ -> false)
Run Code Online (Sandbox Code Playgroud)
这种相当恼人的不一致的原因是什么?