有没有办法从命名空间字符串中获取程序集名称?例如,从“系统”获取“mscorlib”。
我的问题的原因是我正在逐个方法地创建Boo脚本,并且我需要以编程方式添加命名空间。 Boo中的结果字符串将显示为:
import System from mscorlib
我显然可以传入一组导入字符串,但是如果我只能传递一个引用列表,那就更具可扩展性了!
非常感谢
答案 0 :(得分:5)
程序集名称和命名空间名称是完全正交的概念。他们之间没有真正的关系。如果没有检查一组已知程序集以查看它们包含的命名空间,则无法从命名空间名称获取程序集名称。例如,如果两个程序集(mscorlib
和System.Core
)在System
命名空间中声明了一个类型,你会怎么做?
答案 1 :(得分:1)
您可以从类型中获取它:
Console.WriteLine(typeof(System.Object).Module.Name);
关于命名空间,请记住多个程序集可以定义相同的命名空间。