读书人

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

发布时间: 2012-07-26 12:01:08 作者: rapoo

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#中调用,处理回成字节数组呢?

读书人网 >.NET Framework

热点推荐