У меня есть эта общая функция в F #, которая использует (-) оператор:
let inline sub a b = a - b
Теперь я вызываю эту функцию из С#:
int a = sub<int, int, int>(4, 1);
Возникает ошибка:
Необработанное исключение: System.NotSupportedException: указанный метод не поддерживается. в ProjA.MainClass.Main(System.String [] args) [0x00000] в < 4f209fa43741462db3b8f73ac83c35a2 > : 0 [ОШИБКА] FATAL НЕПРАВИЛЬНОЕ ИСКЛЮЧЕНИЕ: System.NotSupportedException: указанный метод не поддерживается. в ProjA.MainClass.Main(System.String [] args) [0x00000] в < 4f209fa43741462db3b8f73ac83c35a2 > : 0
Обратите внимание, что это отлично работает для оператора (+) или без встроенного ключевого слова.
1) Я что-то делаю неправильно или это ошибка?
2) Есть ли способ преодолеть эту проблему (но мне нужно встроенное ключевое слово для создания этой общей функции)?
3) Испытывали ли вы что-то подобное при вызове функции f # из С#, как вы его разрешили?
Я использую Mono 4.8 на macOS Sierra.