C# 如何使用反射获取当前项目中的所有类?

C# 如何使用反射获取当前项目中的所有类?,c#,.net,C#,.net,如何使用反射列出当前项目(assembly?)中的所有类?谢谢。请查看该方法。给定System.Reflection.Assembly的实例a,您可以使用以下方法获取程序集中的所有类型: var allTypes = a.GetTypes(); 这将为您提供所有类型,公共、内部和私有 如果只需要公共类型,可以使用: var publicTypes = a.GetExportedTypes(); 如果您是从程序集本身内部运行此代码,则可以使用 var a = Assembly.GetExecu

如何使用反射列出当前项目(assembly?)中的所有类?谢谢。

请查看该方法。

给定System.Reflection.Assembly的实例
a
,您可以使用以下方法获取程序集中的所有类型:

var allTypes = a.GetTypes();
这将为您提供所有类型,公共、内部和私有

如果只需要公共类型,可以使用:

var publicTypes = a.GetExportedTypes();
如果您是从程序集本身内部运行此代码,则可以使用

var a = Assembly.GetExecutingAssembly();
GetTypes和GetExportedTypes将为您提供所有类型(结构、类、枚举、接口等),因此如果您只需要类,则必须进行筛选

var classes = a.GetExportedTypes().Where(t => t.IsClass);
是的,你用这个方法