我有一个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
声明的第二个参数发送的实例。
当我检查结果时,我可以看到返回的对象 元组已正确修改,但我发送的实例 尚未修改。
有什么想法吗?
答案 0 :(得分:1)
好吧,我终于了解了您的问题,并且没有记录此问题。 Python中没有out / ref参数的概念,因此对参数的修改将在元组中返回。
这是一个未解决的问题: