Was ist F # -Äquivalent zu C # „öffentliches Ereignis“?
Ich versuche, aus diesem Artikel in F # -Code zu übersetzenhttp://www.codeproject.com/Articles/35532/C-COM-Object-for-Use-In-JavaScript-HTML-Including
Ich bin auf diese Zeilen gestoßen:
public delegate void MyFirstEventHandler(string args);
public event MyFirstEventHandler MyFirstEvent;
Ich habe versucht, dies in F # zu übersetzen als:
type MyFirstEventHandler = delegate of string -> unit
type MyFsComComponent () =
let my_event = new Event<MyFirstEventHandler,string> ()
[<CLIEvent>]
member x.MyFirstEvent = my_event.Publish
Und ich bekomme:'MyFirstEventHandler' hat einen nicht standardmäßigen Delegaten
Ich kann kompilieren mit:
type MyFirstEventHandler = delegate of obj*string -> unit
Dies ist jedoch nicht das, was für die COM-Steuerung benötigt wird.
Diese Frage stellt sich auch inC # zu F # Klassenübergang - "öffentliche Veranstaltung" hatte noch keine Lösung
Gelöst. Vielen Dank an Leaf Garland
type MyFirstEventHandler = delegate of string -> unit
type MyFsComComponent () =
let my_event = new DelegateEvent<MyFirstEventHandler> ()
[<CLIEvent>]
member x.MyFirstEvent = my_event.Publish
macht den Trick.