C# で記述された .NET ライブラリを使用しています。現在、IronPython でプロシージャを実行して、次のようなオブジェクトを作成するプロシージャを呼び出しています。
foo = bar.ProcessAndCreateFoo() # bar is a Bar object
ログはProcessAndCreateFoo()
、メソッドが Foo オブジェクトを作成した瞬間に失敗したことを示しています。IronPython コンソールに「'FooExtended' is not callable」というメッセージが表示されます。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 コードが関数を実行できるようにするにはどうすればよいですか? ライブラリに対して行うべき修正はどれですか?