Допустим, у меня есть набор векторных типов (а-ля XNA), и некоторые из них имеют статический член Cross
:
type Vector3 =
...
static member Cross (a : Vector3, b : Vector3) = new Vector3(...)
Я могу определить функцию cross
и она компилируется:
let inline cross (x : ^T) (y : ^T) = (^T : (static member Cross : (^T * ^T) -> ^T) ((x,y)))
К сожалению, я не могу использовать его, и у меня появляется следующая ошибка:
let res = cross a b
^
Член или объект конструктора Cross
принимает 2 аргумента (ов), но здесь дается
1. Требуемая подпись - статический член Vector3.Cross:
a: Vector3 * b: Vector3 ->
Vector3
Возможно ли вообще? Спасибо за помощь!