我想输出(以编程方式 - C#)我的程序集中所有类的列表。
任何提示或示例代码如何做到这一点?反射?
使用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);
如果您打算在找到类型后实例化它:
Assembly assembly = Assembly.Load(fullAssemblyName);
Assembly assembly = Assembly.LoadFrom(fileName);
有关详细信息,请参阅Assembly 类文档。
一旦你有了对Assembly
对象的引用,你就可以assembly.GetTypes()
像 Jon 已经演示过的那样使用。