2013-10-10 2 views
2

Я не могу добавить ссылку или импортировать любые методы расширения в мои скрипты IronPython. Например, с помощью этого сценария из одного из моих модульных тестов:clr.AddReference и clr.ImportExtensions дают ошибку «ожидаемого типа, получили str»

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

Я получаю сообщение об ошибке «ожидаемый тип, полученный str». Я попытался удалить цитаты из «FrEee.Utility.Extensions» и сменить их на двойные кавычки, но ничего не работает. Что я делаю не так?

(Для справки, значения х и у впрыскивают в область сценария с помощью теста на единицу.)

ответ

2

О, я понял это.

Мне нужно было импортировать пространство имен, содержащее методы расширения в качестве модуля, и передать модуль в clr.ImportExtensions. Мне также нужно было использовать clr.AddReferenceToFileAndPath для загрузки DLL, содержащей код, который я хотел импортировать.

import clr; 
clr.AddReferenceToFileAndPath('FrEee.Core.dll'); 
from FrEee.Utility import Extensions; 
clr.ImportExtensions(Extensions); 
x * y 
Смежные вопросы