gpt4 book ai didi

c# - 如何通过 COM 将长数组从 VB6 传递到 C#

转载 作者:行者123 更新时间:2023-11-30 12:49:29 31 4
gpt4 key购买 nike

我需要将 int 或 long 数组(无关紧要)从 VB6 应用程序传递到 C# COM Visible 类。我试过像这样在 C# 中声明接口(interface):

void Subscribe([MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_I4)]int[] notificationTypes)

void Subscribe(int[] notificationTypes)

但是他们都提出了一个函数或接口(interface)标记为受限,或者该函数使用了 Visual Basic 不支持的自动化类型

我应该如何声明 C# 方法?

最佳答案

如果您走投无路,请在虚拟 VB6 ActiveX dll 项目中编写签名代码。然后通过 Visual Studio 或命令行工具生成 vb6 组件的 .NET Interop 版本。然后使用 Reflector 或 dotPeek 将代码从互操作程序集中提取出来。路途遥远,但行之有效。

关于c# - 如何通过 COM 将长数组从 VB6 传递到 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11468355/

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