Я пытаюсь запустить функцию с именем «functionName» из DLL при вызове ее из проекта Python.У меня уже есть контроль над многими функциями DLL, но при запуске «functionName» я думаю, что у меня есть проблемы с реализацией List из Pythonnet Cray Array List.
Строка из DLL, которую я пытаюсь вызвать
public int functionName(ArrayList data)
В настоящее время я пытался создать Python ArrayList через:
from System import Int32
from System import Array
data1 = [Int32(x) for x in data1] # data1 is a list
data1 = Array[Int32](data1) # ArrayList Expecting 8x Arrays to be added
import clr
clr.AddReference('System.Collections')
from System.Collections.Generic import List # Avoids Deprecation
Py_Array = System.Collections.Generic.List[Array[Int32]]()
Py_Array.Add(data1)
...
Py_Array.Add(data1) # 8 times total
DLL.functionName(Py_Array)
Результат всегда был:
TypeError: No method matches given arguments
Я пробовал много разных способовисправить это, и я считаю, что проблема может принадлежать System.Collections.Generic.List не соответствует ожидаемому типу ArrayList для C #.
Любая помощь будет оценена.
Редактировать # 1
Я обнаружил, что есть также:
System.Collections.ArrayList()
Но это не решило проблему соответствия методов с аргументами