Co to jest odpowiednik F # C # „wydarzenie publiczne”

Próbuję przetłumaczyć na kod F # z tego artykułuhttp://www.codeproject.com/Articles/35532/C-COM-Object-for-Use-In-JavaScript-HTML-Including

Natknąłem się na te linie:

public delegate void MyFirstEventHandler(string args);
public event MyFirstEventHandler MyFirstEvent;

Próbowałem przetłumaczyć to w F # jako:

type MyFirstEventHandler = delegate of string -> unit
type MyFsComComponent () = 
    let my_event = new Event<MyFirstEventHandler,string> ()

    [<CLIEvent>]
    member x.MyFirstEvent = my_event.Publish

I dostaję:„MyFirstEventHandler” ma niestandardowego delegata

Mogę skompilować z:

type MyFirstEventHandler = delegate of obj*string -> unit

Nie jest to jednak potrzebne w kontroli COM.

To pytanie jest również poruszone wPrzejście klasy od C # do F # - „wydarzenie publiczne” wciąż nie miało rozwiązania

ROZWIĄZANY. Dzięki Leaf Garland

type MyFirstEventHandler = delegate of string -> unit
type MyFsComComponent () =    
    let my_event = new DelegateEvent<MyFirstEventHandler> ()

    [<CLIEvent>]
    member x.MyFirstEvent = my_event.Publish

Zrób sztuczkę.

questionAnswers(1)

yourAnswerToTheQuestion