Ako ti trebaju sve forme iz glavnog asemblija projekta mozes probati sledece:
Code:
foreach(Type type in Assembly.GetEntryAssembly().GetTypes()) {
if(type == typeof(Form) || type.IsSubclassOf(typeof(Form))) {
Console.WriteLine(type.ToString());
}
}
Na sledeci nacin mozes da dobijes sve forme iz glavnog i svih referenciranih asemblija:
Code:
public static Assembly[] GetReferencedAssemblies()
{
ArrayList assemblies = new ArrayList();
Assembly entryAssembly = Assembly.GetEntryAssembly();
assemblies.Add(entryAssembly);
foreach(AssemblyName name in entryAssembly.GetReferencedAssemblies()) {
try {
Assembly assembly = Assembly.Load(name);
assemblies.Add(assembly);
} catch(Exception) { }
}
return (Assembly[])assemblies.ToArray(typeof(Assembly));
}
static void Main()
{
foreach(Assembly a in GetReferencedAssemblies()) {
foreach(Type type in a.GetTypes()) {
if(type == typeof(Form) || type.IsSubclassOf(typeof(Form))) {
Console.WriteLine(type.ToString());
}
}
}
}