F # powerpack, Func < ...> F # işlevlerinden standart veya tupled olanları dönüştürmek için bir dizi dönüştürme yöntemi ile birlikte gelir. Fakat bunun tersi de mümkündür: F # kodundan Func < ...> alan bir C# yöntemini aramak istediğinizde ve yerel F # lambda ifadesini kullanmak istediğinizde (örn. Fun x -> some_function_of (x))?F # ve C# lambdas Arasındaki ilişki
Bir imzası ile bir F # fonksiyonunu gönderirseniz 'a ->' b Func sonra F # derleyicisi aşağıdaki hata üretir beklediği bir C# yöntemine:
This expression was expected to have type Function<'T,'R> but here has type 'T -> 'R
Ben F # lambda ifadeleri ile kalmak istiyorum ama C# Func lambda olarak gönderebilmek için çeviri katmanını kullanmak. Bu ulaşılabilir mi?
Burada belirtilen PowerPack'de dönüştürme yöntemlerini bulmakta sorun yaşayanlar için, bunlar FSharp.PowerPack.Linq, FuncConvertExtensions –