1 回答

TA贡献1796条经验 获得超10个赞
在 .NET 中声明继承的 COM 接口时,您必须递归地声明所有继承的接口成员。例如,如果您将此作为基本接口:
[Guid("2cd90691-12e2-11dc-9fed-001143a055f9"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IBase
{
int Blabla();
}
那么IDerived定义将是这样的:
[Guid("65019f75-8da2-497c-b32c-dfa34e48ede6"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IDerived
{
// IBase methods
int Blabla();
// IDerived methods
...
}
或者更好,像这样,如果你想在 .NET 中保持继承层次结构:
[Guid("65019f75-8da2-497c-b32c-dfa34e48ede6"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IDerived : IBase
{
// IBase methods
new int Blabla();
// IDerived methods
...
}
- 1 回答
- 0 关注
- 103 浏览
添加回答
举报