わかりました... C# で宣言したオブジェクトを、IronPython を使用して Python ファイルに渡そうとしています。
だからこれは私が考えていたものです:
C# クラス:
public class ParamObj
{
private string Obj_String;
private int Obj_Int;
public ParamObj(string lObjS, string lObjI)
{
Obj_String = lObjS;
Obj_Int = lObjI;
}
public string getString()
{
return Obj_String;
}
public int getInt()
{
return Obj_Int;
}
public setString(string lStr)
{
Obj_String = lStr;
}
public setInt(int lInt)
{
Obj_Int = lInt;
}
}
だから私は自分のクラスを持っています..今、私は自分のC#プロジェクトでクラスを宣言し、それをPYthonファイルに渡します:
ParamObj Test_Object = new ParamObj("Test Object from C#", 1337);
var ipy = Python.CreateRuntime();
dynamic Test = ipy.UseFile("Test.py");
Test_Object = Test.ObjectAsParam(Test_Object);
Console.WriteLine(Test_Object.getString(), Convert.ToString(Test_Object.getInt()));
そして今、Pythoin ファイルでオブジェクトを使用して、そのメソッドを呼び出したいと考えています。したがって、私の Test.py のコードは次のとおりです。
def ObjectAsParam(Obj):
print Obj.getString()
print str(Obj.getInt())
Obj.setString("Changed!")
Obj.setInt(1338)
return Obj
しかし、私のコンパイラは、Python スクリプトが getString()、getInt() などのメソッドを認識していないと言っています。
それを管理する方法はありますか?
ありがとう