[英]Calling C# functions from IronPython
我有一個 C# 函數 () 的庫 (.dll),我想從 IronPython 調用它。 此處顯示的示例 - CMD_Handshake() - 在 a 中定義,不接受任何參數,並返回一個布爾值...
因此,
public bool CMD_Handshake()
{
.
.
return (Send(out b_handshake_code));
}
[來自 IronPython]
clr.AddReferenceToFileAndPath() 成功添加了 .dll 引用。
已成功導入。 該類已成功導入。 CMD_Handshake() 被識別為類的一個方法“App”是類的實例化。
但是:當我調用該函數時,我從 Python 收到以下錯誤消息:
App.CMD_Handshake() 回溯(最近一次調用):文件“”,第 1 行,類型錯誤:CMD_Handshake() 需要 1 個參數(給定 0)
(我覺得我太……接近了。)
問題是bool CMD_Handshake()
是一個實例方法而不是靜態方法。 這意味着您應該創建一個App
實例並在其上調用方法:
app = App()
app.CMD_Handshake()
類型錯誤:CMD_Handshake() 只需要 1 個參數(給定 0)
此錯誤是由於您將實例方法作為靜態方法調用,因此它期望App
的實例作為其第一個參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.