簡體   English   中英

從 IronPython 調用 C# 函數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM