O que é o equivalente em F # do evento público C #?
Estou tentando traduzir para o código F # deste artigohttp://www.codeproject.com/Articles/35532/C-COM-Object-for-Use-In-JavaScript-HTML-Including
Eu tropecei nestas linhas:
public delegate void MyFirstEventHandler(string args);
public event MyFirstEventHandler MyFirstEvent;
Eu tentei traduzir isso em F # como:
type MyFirstEventHandler = delegate of string -> unit
type MyFsComComponent () =
let my_event = new Event<MyFirstEventHandler,string> ()
[<CLIEvent>]
member x.MyFirstEvent = my_event.Publish
E eu recebo:'MyFirstEventHandler' tem um delegado não padrão
Eu posso compilar com:
type MyFirstEventHandler = delegate of obj*string -> unit
Mas isso não é o que é necessário no controle de COM.
Esta questão também é levantadaC # para transição de classe F # - "evento público" ainda não teve solução
RESOLVIDO Graças à guirlanda de folhas
type MyFirstEventHandler = delegate of string -> unit
type MyFsComComponent () =
let my_event = new DelegateEvent<MyFirstEventHandler> ()
[<CLIEvent>]
member x.MyFirstEvent = my_event.Publish
faz o truque.