1

我正在尝试在 IronPython (2.7.3) 控制台中运行 ac# 方法:

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";
        }
    }
}

蟒蛇是

import sys
sys.path.append("Y:\\")
import clr
clr.AddReferenceToFile('./PythonTest')
import PythonTest

a = PythonTest.PythonTest.GetOne()

我在 ironpython 中得到一个 TypeError ,说该函数需要一个参数(根据我的 c#,它不是!)。我很困惑,在这里需要帮助,我只是想调用一些 c# 函数来提供争论并获得结果,在此先感谢!

4

1 回答 1

1

Since it's an instance method, you need to instantiate the object before calling GetOne method:

obj = PythonTest.PythonTest()
a = obj.GetOne()

or, in one-liner:

a = PythonTest.PythonTest().GetOne()
于 2013-05-01T18:40:30.300 回答