我试图从F#类型发布一个事件,但我希望它被视为来自C#或VB的事件.似乎正确的方法曾经是IEvent.create_HandlerEvent,但是这个函数在最新版本的F#中不存在.那么现在正确的做法是什么?
Bri*_*ian 13
事件不是我的强项,但这个例子似乎适用于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
Run Code Online (Sandbox Code Playgroud)
也可以看看
http://cs.hubfs.net/forums/thread/10555.aspx
| 归档时间: |
|
| 查看次数: |
939 次 |
| 最近记录: |