F # powerpack поставляется с набором методов преобразования для перевода из функций Func <... > в F #, как стандартных, так и неполных. Но можно ли сделать обратное: если вы хотите вызывать из кода F # метод С#, который принимает Func <... > и хочет использовать собственное выражение F # lambda (например, fun x → some_function_of (x))?
Если я отправлю функцию F # с сигнатурой 'a → ' b в метод С#, ожидающий Func, тогда компилятор F # генерирует следующую ошибку:
This expression was expected to have type Function<'T,'R> but here has type 'T -> 'R
Я хочу остаться с выражениями F # лямбда, но использовать слой перевода, чтобы иметь возможность отправлять их как С# Func lambda. Возможно ли это?