我想從這篇文章http://www.codeproject.com/Articles/35532/C-COM-Object-for-Use-In-JavaScript-HTML-Including什麼是F#相當於C#「公共事件」
我已經在這個線絆倒轉換爲F#代碼:
public delegate void MyFirstEventHandler(string args);
public event MyFirstEventHandler MyFirstEvent;
我試着
type MyFirstEventHandler = delegate of string -> unit
type MyFsComComponent() =
let my_event = new Event<MyFirstEventHandler,string>()
[<CLIEvent>]
member x.MyFirstEvent = my_event.Publish
我也得到:在F#作爲翻譯這個'MyFirstEventHandler' 有一個非標準的代表
我可以編譯:
type MyFirstEventHandler = delegate of obj*string -> unit
但是,這是不是有什麼需要COM控制。
這個問題也在C# to F# class transition提出 - 「公共事件」仍然沒有解決
解決。感謝葉花環
type MyFirstEventHandler = delegate of string -> unit
type MyFsComComponent() =
let my_event = new DelegateEvent<MyFirstEventHandler>()
[<CLIEvent>]
member x.MyFirstEvent = my_event.Publish
有竅門。
很高興爲你工作。您可以將我的答案標記爲接受以突出顯示它。 –