F # Powerpack kommt mit einer Reihe von Konvertierungsmethoden von Func < ...> zu F # Funktionen, entweder Standard oder Tupled. Aber ist es möglich, das Gegenteil zu erreichen: Wenn Sie vom F # -Code eine C# -Methode aufrufen möchten, die Func < ...> verwendet und nativen F # Lambda-Ausdruck verwenden möchten (z. B. Spaß x -> Some_Function_of (x))?Interop zwischen F # und C# lambdas
Wenn ich eine F # Funktion mit einer Unterschrift Senden '->' b auf eine C# Methode, die erwartet Func dann F # -Compiler die folgenden Fehler erzeugt:
This expression was expected to have type Function<'T,'R> but here has type 'T -> 'R
I mit F # Lambda-Ausdrücke bleiben will, aber eine Übersetzungsebene zu verwenden, um sie als C# Func Lambda senden zu können. Ist das erreichbar?
Für alle, die Probleme beim Finden der Konvertierungsmethoden in PowerPack, die hier erwähnt werden, sind sie in FSharp.PowerPack.Linq, FuncConvertExtensions –