我與CDO COM DLL工作處理.eml
文件。當我嘗試實例化MessengerClass類時,VC#2010告訴我必須使用接口實例化,例如COM接口實例C#
CDO.Message msg = new CDO.Message();
代替
CDO.Message msg = new CDO.MessageClass();
怎麼能這樣呢?不會從這個實例中丟失所有的功能嗎? This article說,做同樣的事情。 我錯過了什麼?界面是否仍然包含可用的功能?
我與CDO COM DLL工作處理.eml
文件。當我嘗試實例化MessengerClass類時,VC#2010告訴我必須使用接口實例化,例如COM接口實例C#
CDO.Message msg = new CDO.Message();
代替
CDO.Message msg = new CDO.MessageClass();
怎麼能這樣呢?不會從這個實例中丟失所有的功能嗎? This article說,做同樣的事情。 我錯過了什麼?界面是否仍然包含可用的功能?
編譯器編譯new COMInterface()
成查找實現該接口的COM類實際COM代碼。
據我所知,COM接口不具有多種實現;相反,在運行時加載從相應的DLL在HKCR \ {類的GUID }規定的實施。
(我不知道很多有關COM,所以這可能是不準確的。
這確實解釋了一些事情。 – Nate
的CDO.Message類根據MSDN
This answer有一些C#/ COM幕後神奇的更多細節暴露了即時聊天,IBodyPart和接口的IDataSource。
觀看在VC#消息接口定義2010它包含[伴生類(typeof運算(MessageClass的))],以及MessengerClass被定義爲一束的虛擬當功能我很困惑 – Nate
只要到CDO參考 右擊它選擇 性能 和嵌入互操作類型的屬性更改爲False
這是COM。普通規則不適用。 – SLaks
@SLake即是有幫助的洛爾。 – Nate