F # приведение в качестве префиксного оператора - PullRequest
1 голос
/ 11 июня 2019

В F # многие инфиксные операторы могут быть сделаны префиксными операторами:

a + b
(+) 1 a b

Однако, похоже, это не разрешено для операторов с повышением (или понижением).

x - это UserPrincipal, который наследуется от Principal

x :> Principal
(:>) x Principal

Почему?

1 Ответ

3 голосов
/ 11 июня 2019

Возможно, потому что в отличие от других операторов операторы приведения не принимают два выражения в качестве аргументов; они берут выражение и тип. Таким образом, (:>) x должна быть «функцией, которая принимает тип», чего нет в F #.

...