C#dll参数中的pythonnet

时间:2019-07-09 09:05:11

标签: c# python-3.x dll python.net

我正在使用python3.7和pythonnet版本:2.4.0,并且我使用的是C#dll,原型是

bool = Read(byte, byte, byte, ref byte[], ref string)

我使用ctypes,但始终显示TypeError:没有方法匹配给定的Read参数 相同的代码可以在Python2.7和pythonnet 2.0.0中运行 我应该在哪里修改,非常感谢。

Read(0xB0, 0, 1, [], "")

我尝试过:

data_array = ctypes.c_byte * 1
Read(0xB0, 0, 1, data_array, "")

data_array = ctypes.pointer((ctypes.c_byte * 1)())
Read(0xB0, 0, 1, data_array, "")

但是它仍然显示TypeError:没有方法匹配给定的Read参数。

1 个答案:

答案 0 :(得分:0)

我在下面尝试过并且有效

import clr
from System import *
from System import Array
slave_addr = Byte(0xB0)
data_addr = Byte(0x21)
bytes_to_read = Byte(0x02)
data_array = Array[Byte]([0] * 2)
script_view = String("")
Read(slave_addr, data_addr, bytes_to_read, data_array, script_view)