我制作了一些带有多个公共变量的C#DLL,它们包括:字符串,双精度数,双精度数数组等,这些都不费心使用getter / setter方法。我可以高兴地设置它们中的任何一个,也可以只使用以下命令从VBA中读取它们:
DllThing.variable = VBAVariable
如果变量是直接变量或double数组且VBAVariable匹配类型,则此方法有效。但是,如果我的VBAVariable是一个Integer()数组,而我的DllThing.variable是一个int []数组,则它不起作用,并且会出现运行时错误“ 5”,无效的过程或调用。
我在同一个DLL中创建了一个测试int变量,我可以对其进行设置和检索,但似乎只是VBA Integer()数组->我无法发送的C#int []数组(如提到的双精度数组)似乎工作正常)。
有什么想法吗?