从ironpython调用c#函数时如何处理ref params

时间:2014-07-24 13:20:53

标签: c# python reference ironpython params

最近,我在我的c#项目中使用ironpython作为我的脚本引擎,我用它来开发插件 - “IronPython in Action”中描述的插件。但是当我用ref param调用c#函数时,我不知道如何处理它!像这样的c#代码:

public class TestCSharp
{
    public void run(ref byte stop)
    {
        while(!stop)
        {
             // do something
        }
    }
}

下面的铁心运动代码:

inst = TestCSharp()
stop = System.Byte(0)
t = Thread(...)
// call inst.run() in thread t
inst.run(stop)
// do something
stop = System.byte(1)

但是inst.run无法停止

有人知道为什么吗?如果我的方法不对,如何实现我的要求?非常感谢你!

1 个答案:

答案 0 :(得分:0)

他们是returned as a result tuple

>>> d = { "a":100.1, "b":200.2, "c":300.3 }
>>> from System.Collections.Generic import Dictionary
>>> d = Dictionary[str, float](d)
>>> d.TryGetValue("b")
(True, 200.2)
>>> d.TryGetValue("z")
(False, 0.0)