F # powerpack viene con un conjunto de métodos de conversión para traducir de Func < ...> a funciones F #, ya sean estándar o tupidas. Pero, ¿es posible lograr lo opuesto: en caso de que quiera llamar desde el código F # un método C# que toma Func < ...> y desea utilizar la expresión nativa F # lambda (por ejemplo, diversión x -> some_function_of (x))?Interop entre F # y C# lambdas
Si envío una función F # con una firma 'a ->' b para un método de C# que espera Func entonces F # compilador genera el siguiente error:
This expression was expected to have type Function<'T,'R> but here has type 'T -> 'R
me quiero quedar con F expresiones # lambda, pero usar una capa de traducción para poder enviarlos como C# Func lambda. Es esto alcanzable?
Para cualquier persona que tenga problemas para encontrar los métodos de conversión en PowerPack mencionados aquí, están en FSharp.PowerPack.Linq, FuncConvertExtensions –