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ę.