我正在使用用 c# 编写的 .NET 库。目前我正在 IronPython 中运行一个过程来调用一个过程来创建一个像这样的对象:
foo = bar.ProcessAndCreateFoo() # bar is a Bar object
日志显示该ProcessAndCreateFoo()
方法在创建 Foo 对象时失败;IronPython 控制台显示消息“'FooExtended' 不可调用”。两个类Foo
和FooExtended
,后者是前者的子类,都在类内部定义,Bar
如下所示:
namespace ns.pc
{
public class Bar
{
public class Foo
{
public Foo (Object o)
{
}
}
public class FooExtended : Foo
{
public FooExtended (Object o)
{
}
}
public Foo ProcessAndCreateFoo()
{
// ...
Foo foo = new FooExtended(o);
return foo;
}
}
}
从 c#调用该ProcessAndCreateFoo()
方法不会引发任何错误,仅从 IronPython 调用。如何让 IronPython 代码执行该函数?如果有的话,需要对图书馆进行哪些更正?