我正在尝试在IronPython(2.7.3)控制台中运行c#方法:
c#(编译为dll)是:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PythonTest
{
public class PythonTest
{
public PythonTest(){}
public int GetOne()
{
return 1;
}
public double Sum(double d1, double d2)
{
return d1+d2;
}
public string HiPlanet()
{
return "Hi Planeta";
}
}
}
python是
import sys
sys.path.append("Y:\\")
import clr
clr.AddReferenceToFile('./PythonTest')
import PythonTest
a = PythonTest.PythonTest.GetOne()
我在ironpython中得到一个TypeError,说该函数需要一个争论(它不符合我的c#!)。我很困惑,并且在这里提供帮助,我只是想调用一些c#函数提供争论并获得结果,提前感谢!
答案 0 :(得分:1)
由于它是一个实例方法,因此需要在调用GetOne方法之前实例化该对象:
obj = PythonTest.PythonTest()
a = obj.GetOne()
或者,在单行中:
a = PythonTest.PythonTest().GetOne()