Чтобы получить FSharpFunc из эквивалентной функции C #, используйте:
Func<int,int> cs_func = (i) => ++i;
var fsharp_func = Microsoft.FSharp.Core.FSharpFunc<int,int>.FromConverter(
new Converter<int,int>(cs_func));
Чтобы получить функцию C # из эквивалентного FSharpFunc, используйте
var cs_func = Microsoft.FSharp.Core.FSharpFunc<int,int>.ToConverter(fsharp_func);
int i = cs_func(2);
Итак, в данном конкретном случае ваш код может выглядеть следующим образом:
Func<int, int> cs_func = (int i) => ++i;
int result = ApplyOn22(Microsoft.FSharp.Core.FSharpFunc<int, int>.FromConverter(
new Converter<int, int>(cs_func)));