我最近發現可以通過裝飾與CoClassAttribute的接口來指定默認實現"new up" an interface in C#。 [ComImport, Guid("579A4F68-4E51-479A-A7AA-A4DDC4031F3F"), CoClass(typeof(FooImpl))]
public interface IFoo
{
void Bar();
}
p
我沒有太多關於COM和coclasses的背景,所以我不太明白爲什麼我可以使用帶接口的new運算符。從語言/框架無關的觀點,它的迷惑,爲什麼這個編譯並運行正常: using Microsoft.Office.Interop.Excel;
public class ExcelProgram
{
static void Main(string[] args)
{
我正在寫一個BHO,通過COM公開了一些方法。他們大多數工作正常,但最近添加的2個顯示出奇怪的行爲。 當從頁面上的JavaScript調用時,新添加的方法「返回」未定義,而不是拋出一個異常,該方法或屬性不存在,因此該對象至少知道方法在其上,但從不執行它們。 bho.h class ATL_NO_VTABLE CBho :
public IObjectWithSite,
public IDisp