我想输出(以编程方式 - C#)我的程序集中所有类的列表。
任何提示或示例代码如何执行此操作?反射?
答案 0 :(得分:132)
使用Assembly.GetTypes
。例如:
Assembly mscorlib = typeof(string).Assembly;
foreach (Type type in mscorlib.GetTypes())
{
Console.WriteLine(type.FullName);
}
答案 1 :(得分:92)
我只想补充Jon的例子。要获得对自己程序集的引用,可以使用:
Assembly myAssembly = Assembly.GetExecutingAssembly();
System.Reflection
命名空间。
如果要检查没有引用的程序集,可以使用以下任一项:
Assembly assembly = Assembly.ReflectionOnlyLoad(fullAssemblyName);
Assembly assembly = Assembly.ReflectionOnlyLoadFrom(fileName);
如果您打算在找到类型后实例化它:
Assembly assembly = Assembly.Load(fullAssemblyName);
Assembly assembly = Assembly.LoadFrom(fileName);
有关详细信息,请参阅Assembly class documentation。
获得Assembly
对象的引用后,您可以像Jon已经演示的那样使用assembly.GetTypes()
。