Я знаю, используя отражение, что могу найти список классов в одной сборке (например, Как получить все классы в текущем проекте с помощью отражения?).
Есть ли способ сделать это только с общедоступными классами в данном каталоге?
Я знаю, используя отражение, что могу найти список классов в одной сборке (например, Как получить все классы в текущем проекте с помощью отражения?).
Есть ли способ сделать это только с общедоступными классами в данном каталоге?
Я предполагаю, что вы имеете в виду каталог, содержащий одну или несколько сборок, если это так, вы можете сделать это следующим образом:
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.Public
и BindingFlags.Instance
. Поэтому вам не нужно дополнительно указывать параметр BindingFlags
.