如何通过汇编获取项目中的所有命名空间?

时间:2015-04-29 07:50:39

标签: c# reflection namespaces

我希望通过方法汇编获取主项目中的所有命名空间。(并非所有aseembly)

我在下面阅读了一些问题,但没有用。

  

Getting all types in a namespace via reflection

例如

汇编中的

类:

namespace test
{
    public class Class1
    {
        public string[] AllNameSpace()
        {
            return Assembly.GetExecutingAssembly().GetTypes().Select(x => x.Namespace).ToArray();
        }
    }
}
主项目中的

代码:

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            var util=new Class1();
            Console.WriteLine(string.Join(",",util.AllNameSpace()));//return test
            Console.ReadKey();
        }
    }
}

返回"测试"但我想包含ConsoleApplication1名称空间。

1 个答案:

答案 0 :(得分:1)

使用Assembly.GetCallingAssembly代替Assembly.GetExecutingAssembly,您应该获得ConsoleApplication1 - 大会。

您获得该程序集的所有命名空间,但它确实包含ConsoleApplication1,但不仅如此。