Я хочу вывести (программно - C #) список всех классов в моей сборке.
Любые подсказки или пример кода, как это сделать? Отражение?
Ответы:
Используйте 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
объект, вы можете использовать, assembly.GetTypes()
как уже продемонстрировал Джон.
typeof
тип, который, как вы знаете, находится в этой сборке, а затем Assembly
свойство, как в моем примере.