在文件目录中查找公共类



我知道使用反射可以在单个程序集中找到类的列表(例如How to get all classes in current project using reflection?(。

有没有一种方法可以在给定的目录中只使用公共类来实现这一点?

我假设你指的是一个包含一个或多个程序集的目录,如果是这样的话,你可以这样做:

var types = new List<Type>();
var paths = Directory.GetFiles("directoryPath", "*.dll", SearchOption.TopDirectoryOnly);
foreach(var path in paths)
{
    types.AddRange(Assembly.LoadFrom(path).GetTypes());
}

GetTypes方法默认使用BindingFlags.PublicBindingFlags.Instance。因此,您不需要额外指定BindingFlags参数。

相关内容

  • 没有找到相关文章

最新更新