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()
。