Ответ 1
Используйте Assembly.GetTypes
. Например:
Assembly mscorlib = typeof(string).Assembly;
foreach (Type type in mscorlib.GetTypes())
{
Console.WriteLine(type.FullName);
}
Я хотел бы выводить (программно - С#) список всех классов в моей сборке.
Любые подсказки или пример кода, как это сделать? Отражение?
Используйте Assembly.GetTypes
. Например:
Assembly mscorlib = typeof(string).Assembly;
foreach (Type type in mscorlib.GetTypes())
{
Console.WriteLine(type.FullName);
}
Я просто хотел бы добавить к примеру Джона. Чтобы получить ссылку на собственную сборку, вы можете использовать:
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.