2

IronPython スクリプトに参照を追加したり、拡張メソッドをインポートしたりできないようです。たとえば、私の単体テストの 1 つからこのスクリプトを使用すると、次のようになります。

import clr;
clr.ImportExtensions('FrEee.Utility.Extensions');
from System import Math;
x * y

「予想される型、str を取得しました」というエラーが表示されます。「FrEee.Utility.Extensions」から引用符を削除して二重引用符に変更しようとしましたが、何も機能しません。私は何を間違っていますか?

(参考までに、x と y の値は、単体テストによってスクリプト スコープに挿入されます。)

4

1 に答える 1

2

ああ、私はそれを理解しました。

拡張メソッドを含む名前空間をモジュールとしてインポートし、そのモジュールを clr.ImportExtensions に渡す必要がありました。また、clr.AddReferenceToFileAndPath を使用して、インポートしたいコードを含む DLL をロードする必要がありました。

import clr;
clr.AddReferenceToFileAndPath('FrEee.Core.dll');
from FrEee.Utility import Extensions;
clr.ImportExtensions(Extensions);
x * y
于 2013-10-10T18:54:13.463 に答える