gpt4 book ai didi

vb.net - 我可以只做一个 COM 函数吗? (与 相反)

转载 作者:行者123 更新时间:2023-12-04 20:54:01 24 4
gpt4 key购买 nike

我的 VB.NET DLL 中有一些函数,我可以使用以下命令从我的 VB6 应用程序中“隐藏”这些函数:

<Runtime.InteropServices.ComVisible(False)> _

但是有没有办法让一个函数只对 COM 客户端可见而不对 .NET 程序集可见?

通过这种方式,我可以在 .NET 端使用 Shared 方法,而无需实例声明。

最佳答案

您也许可以通过使用 Explicit Interface Implementation 来实现您想要的。 .您可以声明一个将由 COM 客户端使用的接口(interface)和另一个用于 .NET 客户端的接口(interface),将所有方法保留在您的实现类中。代码可能如下所示:

Imports System.Runtime.InteropServices

Public Interface ITestInterface

<ComVisible(True)> _
Sub MyTestMethod()
End Interface

<ComVisible(True)> _
Public Class TestClass
Implements ITestInterface

Private Sub MyTestMethod() Implements ITestInterface.MyTestMethod
End Sub
End Class

我不得不说我不明白你的意思:“这样我可以在 .NET 端使用共享方法,避免需要实例声明。”

关于vb.net - 我可以只做一个 COM 函数吗? (与 <Runtime.InteropServices.ComVisible(False)> 相反),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6860221/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com