使用Python.NET调用C#函数,却不断得到类型错误

使用Python.NET调用C#函数,却不断得到类型错误,c#,python,python-2.7,python.net,C#,Python,Python 2.7,Python.net,我正试图通过Python.NET在我的Python程序中使用。我正在使用主网站上的示例代码进行测试。我可以将Rant类导入到我的Python程序中,但是当我进入示例的Rant.Do(pgm)部分时,整个程序就分崩离析了 我的代码有点像这样(我主要是从Python命令行解释器中执行此操作): 当我尝试在对象rant中使用Do()方法时,就会出现问题。当我运行它时,它会给出错误TypeError:No方法与给定的参数匹配。我之所以研究这个方法,是因为它建议为这个方法加入所有的论据 Do()方法的方法

我正试图通过Python.NET在我的Python程序中使用。我正在使用主网站上的示例代码进行测试。我可以将Rant类导入到我的Python程序中,但是当我进入示例的
Rant.Do(pgm)
部分时,整个程序就分崩离析了

我的代码有点像这样(我主要是从Python命令行解释器中执行此操作):

当我尝试在对象
rant
中使用
Do()
方法时,就会出现问题。当我运行它时,它会给出错误
TypeError:No方法与给定的参数匹配
。我之所以研究这个方法,是因为它建议为这个方法加入所有的论据

Do()
方法的方法参数包括以下内容(这是我通过调用
help(rantegine)
得到的):

我试过用第一个。因此,我尝试调用如下方法:

rant.Do(pgm, System.Int32(1), System.Double(2), args)
遗憾的是,它仍然给我一个
类型错误


那么如何让示例代码在Python下运行呢?

什么是
args
真的?更具体地说,Rant import rantprogrammargs as args
中告诉您args的那一行
是什么?这些是您传递给模式的Rant参数。至少,我认为这就是它的意义所在。我想你需要学习/更新一些关于Python的基础知识。查阅有关“”真正含义/作用的文档。记住,编程不是你相信某些东西,并希望计算机/编译器会以某种方式同意你的信念。提示:
args
在您的问题中不是您传递的参数,
args
是您应该传递的参数类型…;-)问题是这一行:
rant=ranteengine
,应该是
rant=ranteengine()
感谢您的澄清,@denfromufa。这就成功了。什么是
args
真的?更具体地说,Rant import rantprogrammargs as args
中告诉您args的那一行
是什么?这些是您传递给模式的Rant参数。至少,我认为这就是它的意义所在。我想你需要学习/更新一些关于Python的基础知识。查阅有关“”真正含义/作用的文档。记住,编程不是你相信某些东西,并希望计算机/编译器会以某种方式同意你的信念。提示:
args
在您的问题中不是您传递的参数,
args
是您应该传递的参数类型…;-)问题是这一行:
rant=ranteengine
,应该是
rant=ranteengine()
感谢您的澄清,@denfromufa。成功了。
Rant.RantOutput Do(Rant.RantProgram, Int32, Double, Rant.RantProgramArgs)
Rant.RantOutput Do(Rant.RantProgram, Rant.RNG, Int32, Double, Rant.RantProgramArgs)
Rant.RantOutput Do(Rant.RantProgram, Int64, Int32, Double, Rant.RantProgramArgs)
rant.Do(pgm, System.Int32(1), System.Double(2), args)