С#: список всех классов в сборке

Я хотел бы выводить (программно - С#) список всех классов в моей сборке.

Любые подсказки или пример кода, как это сделать? Отражение?

Ответ 1

Используйте Assembly.GetTypes. Например:

Assembly mscorlib = typeof(string).Assembly;
foreach (Type type in mscorlib.GetTypes())
{
    Console.WriteLine(type.FullName);
}

Ответ 2

Я просто хотел бы добавить к примеру Джона. Чтобы получить ссылку на собственную сборку, вы можете использовать:

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.GetTypes(), как уже продемонстрировал Jon.