F#转换为前缀运算符

时间:2019-06-11 03:45:28

标签: casting f# operators

在F#中,可以将许多中缀运算符用作前缀运算符:

a + b
(+) 1 a b

但是,上流(或下流)运营商似乎不允许这样做。

xUserPrincipal,它继承自Principal

x :> Principal
(:>) x Principal

为什么?

1 个答案:

答案 0 :(得分:3)

可能是因为与其他运算符不同,强制转换运算符不采用两个表达式作为参数;他们接受一个表达式和一个类型。因此,(:>) x必须是“具有某种类型的函数”,这不是F#中存在的东西。