我用 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
我收到错误。
我应该怎么办?任何帮助将不胜感激!