¿Qué es F # equivalente de C # "evento público"?

Estoy tratando de traducir al código F # de este artículohttp://www.codeproject.com/Articles/35532/C-COM-Object-for-Use-In-JavaScript-HTML-Including

He tropezado en estas líneas:

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

He intentado traducir esto en F # como:

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

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

Y me sale:'MyFirstEventHandler' tiene un delegado no estándar

Puedo compilar con:

type MyFirstEventHandler = delegate of obj*string -> unit

Pero esto no es lo que se necesita en el control de COM.

Esta pregunta también se plantea enTransición de clase C # a F # - "evento público" todavía no tenía solución

Resuelto Gracias a Leaf Garland

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

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

Hace el truco.

Respuestas a la pregunta(1)

Su respuesta a la pregunta