我可以从C#代码访问python函数。 我可以从python脚本访问类的C#方法吗? 我发现只有来自程序集的调用,而不是来自嵌入式IronPython。
C#
namespace Test
{
class Program
{
static void Main(string[] args)
{
Test t = new Test();
ScriptEngine engine = Python.CreateEngine();
ScriptScope scope = engine.CreateScope();
scope.SetVariable("test", t);
engine.ExecuteFile("test.py", scope);
Console.WriteLine("-------------------->");
Console.Read();
}
}
public class Test
{
public string foo;
public Test()
{
foo = "foo ok";
}
public void Do()
{
Console.WriteLine("Do()");
}
}
}
Python脚本
print(type(test).__name__) # Test
print(test.foo) # 'foo ok'
test.Do() # 'Test' object has no attribute 'Do'
我如何访问类方法?