我在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
为什么?
答案 0 :(得分:2)
由于该方法不是静态的,你必须使用该类的实例来调用它,即
from Assembly import Class
obj = Class()
obj.Action(...)