当前位置: 代码迷 >> .NET Framework >> C# 接收 VB6 DLL的字节数组,如何避免
  详细解决方案

C# 接收 VB6 DLL的字节数组,如何避免

热度:423   发布时间:2016-05-02 00:25:19.0
C# 接收 VB6 DLL的字节数组,如何处理?
vb6 代码

Public Function vb_function(com As Integer, str As String) As Byte()
vb_function = head2()
End Function

c#

byte[] i2 = (byte[])led.vb_function(ref com_port, ref str);

c#这边这样写报错,提示说不能将System.Byte[]转换为System.Byte[*]

------解决方案--------------------
VB code
Public Function foo() As Byte()    Dim a(2) As Byte    a(0) = 1    a(1) = 2    a(2) = 3    foo = aEnd Function
------解决方案--------------------
如果C#确实不能处理这个safeArray返回结果的话,办法应该还是有的的:如果没有什么性能要求的话,为什么不再用vb6把你的这个函数封装成返回字符串,然后再想办法在C#中调用,处理回成字节数组呢?
  相关解决方案