Dot-Net
如何在 F# 中創建與 .NET 兼容的事件?
我正在嘗試從 F# 類型發布事件,但我希望它被視為來自 C# 或 VB 的事件。似乎正確的方法曾經是 IEvent.create_HandlerEvent,但這個函式在最新版本的 F# 中不存在。那麼現在正確的做法是什麼?
事件不是我的強項,但這個例子似乎適用於 F# 1.9.6.16:
namespace EventExample open System type MyEventArgs(msg:string) = inherit EventArgs() member this.Message = msg type MyEventDelegate = delegate of obj * MyEventArgs -> unit type Foo() = let ev = new Event<MyEventDelegate, MyEventArgs>() member this.Ping(msg) = ev.Trigger(this, new MyEventArgs(msg)) [<CLIEvent>] member this.GotPinged = ev.Publish也可以看看