Interop zwischen F # und C # Lambdas

F # powerpack enthält eine Reihe von Konvertierungsmethoden für die Übersetzung von Func <...> in F # -Funktionen (entweder Standardfunktionen oder Funktionen mit Tupel). Aber ist es möglich, das Gegenteil zu erreichen: Wenn Sie aus F # -Code eine C # -Methode aufrufen möchten, die Func <...> verwendet und einen nativen F # -Lambda-Ausdruck verwenden möchte (z. B. fun x -> some_function_of (x))?

Wenn ich eine F # -Funktion mit der Signatur 'a ->' b an eine C # -Methode sende, die Func erwartet, generiert der F # -Compiler den folgenden Fehler:

This expression was expected to have type Function<'T,'R> but here has type 'T -> 'R

Ich möchte bei F # Lambda-Ausdrücken bleiben, aber eine Übersetzungsebene verwenden, um sie als C # Func Lambda senden zu können. Ist das erreichbar?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage