Что такое F # эквивалент C # «публичное мероприятие»
Я пытаюсь перевести на F # код из этой статьиhttp://www.codeproject.com/Articles/35532/C-COM-Object-for-Use-In-JavaScript-HTML-Including
Я наткнулся на это:
public delegate void MyFirstEventHandler(string args);
public event MyFirstEventHandler MyFirstEvent;
Я пытался перевести это в F # как:
type MyFirstEventHandler = delegate of string -> unit
type MyFsComComponent () =
let my_event = new Event<MyFirstEventHandler,string> ()
[<CLIEvent>]
member x.MyFirstEvent = my_event.Publish
И я получаю:MyFirstEventHandler имеет нестандартного делегата
Я могу скомпилировать с:
type MyFirstEventHandler = delegate of obj*string -> unit
Но это не то, что нужно в COM-контроле.
Этот вопрос также поднимается вПереход с класса C # на F # - у «публичного мероприятия» до сих пор нет решения
Решаемые. Благодаря Leaf Garland
type MyFirstEventHandler = delegate of string -> unit
type MyFsComComponent () =
let my_event = new DelegateEvent<MyFirstEventHandler> ()
[<CLIEvent>]
member x.MyFirstEvent = my_event.Publish
делает трюк.