Проблема с использованием класса .net в Ironpython

Если у меня есть класс .Net, который не является частью какого-либо пространства имен, я не смогу использовать его в Ironpython.

Вот пример

Предположим, у меня есть сборка FooLib.dll со следующим определением класса

// обратите внимание, что следующий класс не является частью глобального пространства имен

открытый класс Foo {}

Сейчас я пытаюсь использовать его в Ironpython

clr.AddReference ("FooLib") # Этот вызов выполнен успешно.

f = Foo ()

Строка f = Foo () возвращает ошибку

Traceback (последний вызов был последним):

Файл "", строка 1, в

NameError: имя 'Foo' не определено

Я попробовал следующее

из FooLib import *

f = Foo ()

Строка из FooLib import * сообщает об ошибке, которая имеет смысл, поскольку предложение from следует использовать в пространствах имен, а не в сборках.

Однако, если класс Foo принадлежит некоторому пространству имен, то у меня нет проблем с импортом в ironpython

Итак, мой вопрос, как мне использовать класс .net, принадлежащий к глобальному пространству имен из Ironpython

С уважением Ганеш

16.10.2009 19:22:03
1 ОТВЕТ
РЕШЕНИЕ

Вы должны использовать голое, importкак так:

import clr
clr.AddReference("FooLib") # This call succeeds.
import Foo
f = Foo()
3
16.10.2009 19:25:28