小编pet*_*ebu的帖子

F#在Mono 2.10上崩溃了

在阅读了一些有关Mono 2.6垃圾收集器不足之处的报道之后,我决定给Mono 2.10一个机会.我发现2.10运行时崩溃了以下简单的F#程序:

let rec f x acc =
  if x = 0 then acc
  else f (x - 1) (acc + 1)

f 10 0
Run Code Online (Sandbox Code Playgroud)

等效循环C#代码运行得很好,就像F#hello world程序一样.F#代码也适用于Mono 2.6和.Net.其他人可以重现这个吗?这是一个错误还是只是我的安装?

以下是我尝试的各种运行时间和结果.

使用的F#编译器来自2010年11月的CTP.

mono f#

21
推荐指数
1
解决办法
707
查看次数

F#中CLI事件的C#样式事件访问器

我将F#中的事件暴露给C#,如下所示:

let event = new DelegateEvent<EventHandler>()
member x.Ping() = event.Trigger([| x; EventArgs.Empty |])
[<CLIEvent>]
member x.PingEvent = event.Publish
Run Code Online (Sandbox Code Playgroud)

但是我想在添加或删除处理程序时运行一些代码.我认为这可以在C#中完成,如下所示:

public event EventHandler PingEvent
{
    add 
    {
        //do something
    }
    remove
    {
        //do something
    }
}
Run Code Online (Sandbox Code Playgroud)

如何在F#中编写以上内容?

.net events f# c#-to-f#

9
推荐指数
1
解决办法
857
查看次数

标签 统计

f# ×2

.net ×1

c#-to-f# ×1

events ×1

mono ×1