4
我們可以在F#中嵌入互操作類型嗎?在F#中嵌入互操作類型#
首先,我沒有看到在引用中這樣做的選項。
其次,如果我嵌入在C#中的類型,它告訴我引用的接口,而不是具體類:
//DBEngine is the interface DBEngineClass is the concrete class
//if I dont embed the interop
//Valid
var dbe = new Microsoft.Office.Interop.Access.Dao.DBEngineClass();
//Valid
var dbe = new Microsoft.Office.Interop.Access.Dao.DBEngine();
//if I do embed the interop
//Invalid
var dbe = new Microsoft.Office.Interop.Access.Dao.DBEngineClass();
//Valid
var dbe = new Microsoft.Office.Interop.Access.Dao.DBEngine();
然而,F#一直想擁有的具體類的引用。 有沒有辦法解決這個問題?
確實如此,但您仍然指示二進制文件實際綁定到版本v14.0特定的類。 COM有這種接口的概念,現在顯然在C#中語言層面出現。這就是爲什麼你可以新建一個界面! – nicolas 2013-04-23 13:48:02
這個想法是,我不在乎哪個客戶端庫將實現接口。我將這種通用性推向了負責遵守它的運行時。 – nicolas 2013-04-23 13:49:04