如何在没有 IDispatch 的情况下创建 VB.NET COM 可见接口?
Posted
技术标签:
【中文标题】如何在没有 IDispatch 的情况下创建 VB.NET COM 可见接口?【英文标题】:How to create a VB.NET COM-visible interface without IDispatch? 【发布时间】:2021-06-12 12:17:46 【问题描述】:如果我创建一个 COM 可见的 VB.NET 接口,例如:
<ComVisible(True)>
Public Interface IMyInterface
Sub MyMethod()
End Interface
然后生成的类型库将显示IMyInterface
继承IDispatch
。有没有办法只继承IUnknown
,而不是IDispatch
?
【问题讨论】:
【参考方案1】:像这样使用InterfaceTypeAttribute Class:
<ComVisible(True), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _
Public Interface IMyInterface
Sub MyMethod()
End Interface
【讨论】:
以上是关于如何在没有 IDispatch 的情况下创建 VB.NET COM 可见接口?的主要内容,如果未能解决你的问题,请参考以下文章
如何在不通过 COM 的情况下从 VB6 调用 C++ DLL?
继承接口 & IUnknown , IDispatch 方法定义
如何在不知道查询结果类型的情况下在 EF/VB.net 中运行存储过程?
LPDISPATCH是啥数据类型,他和IDispatch有啥关系