2

我似乎无法在 IronPython 脚本中添加引用或导入任何扩展方法。例如,使用我的一个单元测试中的这个脚本:

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 回答