Tag: calculation expression

如何将`where T:U`generics类型参数约束从C#转换为F#?

F#给我带来了类型推理规则的一些麻烦。 我正在编写一个简单的计算构建器,但无法正确获取我的generics类型变量约束。 我想要的代码在C#中如下所示: class FinallyBuilder { readonly Action finallyAction; public FinallyBuilder(Action finallyAction) { this.finallyAction = finallyAction; } public TB Bind(TA x, Func cont) where TA : TZ { // ^^^^^^^^^^^^^ try // this is what gives me a headache { // in the F# version return cont(x); } finally { finallyAction(x); } } } 到目前为止,我为F#版本提出的最佳(但非编译代码)是: […]