この簡単な例を c# で書きました:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace DLLTest
{
public class MyDllTest
{
public int sumFunc(int a, int b)
{
int sum = a + b;
return sum;
}
public static string stringFunc(string a, int numT)
{
if (numT < 0)
{
string errStr = "Error! num < 0";
return errStr;
}
else
{
return a;
}
}
}
}
ご覧のとおり、最初の関数では "static" を使用していません。このコードを使用して Iron python で実行すると:
import sys
import clr
clr.addReferenceToFileAndPath(...path do dll...)
from DLLTest import *
res = MyDllTest.sumFunc(....HERE MY PROBLEM IS...)
2 つの引数を渡すと、次のエラーが発生します。
>>> res = MyDllTest.sumFunc(4,5)
Traceback (most recent call last):
File "<string>", line 1, in <module>
TypeError: sumFunc() takes exactly 3 arguments (2 given)
私が理解しているように、最初の引数が「MyDllTest」型からのものであることが求められますが、書き込もうとするとa = new MyDllTest
エラーが発生します。
私は何をすべきか?どんな助けでも大歓迎です!