问题描述
如果我创建了一个 COM 可见的 VB.NET 接口,例如:
<ComVisible(True)>
Public Interface IMyInterface
Sub MyMethod()
End Interface
然后生成的类型库将显示 IMyInterface
继承 Idispatch
。有没有办法只继承 IUnkNown
而不是 Idispatch
?
解决方法
像这样使用 InterfaceTypeAttribute Class:
<ComVisible(True),InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _
Public Interface IMyInterface
Sub MyMethod()
End Interface