我正在使用用C#編寫的.NET庫。目前我正在運行在IronPython中的一個程序調用一個過程來創建這樣一個對象:用C#編寫的類中的類不可被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代碼執行該功能?如果有的話,對圖書館所做的更正是哪些?