【问题标题】:Issue with using a .net class in ironpython在 ironpython 中使用 .net 类的问题
【发布时间】:2010-12-07 11:40:10
【问题描述】:

如果我有一个不属于任何命名空间的 .Net 类,那么我将无法在 Ironpython 中使用它。

这是一个例子

假设我有一个具有以下类定义的程序集 FooLib.dll

//注意下面的类不是全局命名空间的一部分

公共类 Foo { }

现在我尝试在 Ironpython 中使用它

clr.AddReference("FooLib") # 这个调用 成功。

f = Foo()

f= Foo() 行返回错误

Traceback(最近一次通话最后一次):

文件“”,第 1 行,在

NameError: 名称 'Foo' 未定义

我尝试了以下

从 FooLib 导入 *

f = Foo()

from FooLib import * 行报告了一个错误,这是有意义的,因为 from 子句应该用于命名空间而不是程序集

但是,如果类 Foo 属于某个命名空间,那么我在 Ironpython 中导入就没有问题

所以,我的问题是如何使用 Ironpython 中属于全局命名空间的 .net 类

问候 象头神

【问题讨论】:

    标签: ironpython


    【解决方案1】:

    您必须像这样使用裸import

    import clr
    clr.AddReference("FooLib") # This call succeeds.
    import Foo
    f = Foo()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多