IronPythonでオブジェクトの型に関する質問があります。私はC#で.NET型を作成しました(私はMyClassクラスを作成しました)、クラスライブラリプロジェクトをコンパイルしました。私はそのような方法でTestLibrary.dllを作成したとしましょう。次に、私はIronPythonプロジェクトでこのライブラリを参照し、TestLibrary.dllにある.NETタイプを継承するIronPythonクラスを作成しました。私のコードは次のようになります。IronPythonオブジェクトのタイプ
import clr
clr.AddReferenceToFileAndPath(r'C:\TestLibrary\TestLibrary\bin\Debug\TestLibrary.dll')
from TestLibrary import *
class TestPythonClass(MyClass):
def doSomething(self):
print('Hello')
しかし、私は私のTestPythonClassのオブジェクトを作成したとき、私は、そのオブジェクトのタイプは「IronPython.NewTypes.TestLibrary.MyClass_15 $ 16」で発見されました。
testPythonClass = TestPythonClass()
typeToString = testPythonClass.GetType().ToString()
誰もが私のIronPythonのオブジェクトの種類は、実際にTestLibrary.dllに宣言されているタイプで、なぜいくつかの追加情報を私に提供することはできますか?なぜ型がTestPythonClassでないのですか?
オブジェクトのPython型と.NET型は異なるものです。 Python型が必要な場合は、 'type'関数を使います。 – user2357112