C#:列出程序集中的所有类

我想输出(编程方式 – C#)我的程序集中的所有类的列表。

任何提示或示例代码如何做到这一点? reflection?

使用Assembly.GetTypes 。 例如:

 Assembly mscorlib = typeof(string).Assembly; foreach (Type type in mscorlib.GetTypes()) { Console.WriteLine(type.FullName); } 

我只想补充Jon的例子。 要获得对自己的组件的参考,可以使用:

 Assembly myAssembly = Assembly.GetExecutingAssembly(); 

System.Reflection命名空间。

如果你想检查你没有参考的程序集,你可以使用下面的任何一个:

 Assembly assembly = Assembly.ReflectionOnlyLoad(fullAssemblyName); Assembly assembly = Assembly.ReflectionOnlyLoadFrom(fileName); 

如果你打算实例化你的types,一旦你find它:

 Assembly assembly = Assembly.Load(fullAssemblyName); Assembly assembly = Assembly.LoadFrom(fileName); 

有关更多信息,请参阅组件类文档 。

一旦你有了Assembly对象的引用,你可以像Jon所说的那样使用assembly.GetTypes()