我正在尝试编写一个应该使用 C#/.Net dll 的 f-sharp 程序。C# 代码如下所示:
public delegate void OnX (X x);
public delegate void OnXError (X x, string error);
public Foo(OnX onX, OnXError onXError);
我目前在 F# L 中的尝试如下所示:
let OnX (x:X) =
()
let OnXError (x:X) (error:sting)=
()
let foo=new Foo(OnX,OnXError)
这不编译。OnX 具有类型 x -> unit 而不是 OnX。我也尝试在单独的绑定中创建委托,但还没有找到解决方案。