我有一个C级的
public MY_CLASS(int number)
{
SomeField = number;
SetElseWhere = 0;
}
}
我想传递给C函数
public static bool MyTask(string pathXML, out MY_CLASS test)
我希望
MyTask
修改字段
SetElseWhere
以……为例
MY_CLASS
在pythonnet中,我把函数称为
import System
my_dll = System.Reflection.Assembly.LoadFile('example.dll')
MY_CLASS_t = my_dll.GetType('NAMESPACE.MY_CLASS')
my_instance = System.Activator.CreateInstance(MY_CLASS_t)
x = MyTask('test.xml', my_instance)
现在越来越奇怪了,至少对我来说:
返回值x是一个包含两个条目的元组,一个布尔值和一个对象
类型
NAMESPACE.MY_CLASS
.但不是我作为属性声明的第二个参数发送的实例
out
.
当我检查结果时,我可以看到返回的
tuple已正确修改,但我发送的实例
尚未修改。
你知道为什么吗?