将不同的参数传递给c#动态库

时间:2014-10-17 12:29:40

标签: c# python python.net

我在CPython中使用pythonnet,我设法安装它

import clr
clr.AddReference('Assembly')

确实有效。

在我的C#代码中,如果是成员

public void Action(double Freq, double ChannelSpace, bool RefDoubler, bool RefD2, double RCounter, int DeviceIndex)
    {... //something is done
    }

如果我现在尝试(在Python中):

from Assembly import Class
from System import Double, Int32,Boolean
Class.Action(Double(3000), Double(10), Boolean(False), Boolean(False), Double(10), Int32(0))

总是抱怨并说:

TypeError: No method matches given arguments

为什么?

1 个答案:

答案 0 :(得分:2)

由于该方法不是静态的,你必须使用该类的实例来调用它,即

from Assembly import Class
obj = Class()
obj.Action(...)