Usando Jon's suggestion of reflecting through the assembly, aquí es un fragmento que puede encontrar útiles:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Web.Mvc;
public class MvcHelper
{
private static List<Type> GetSubClasses<T>()
{
return Assembly.GetCallingAssembly().GetTypes().Where(
type => type.IsSubclassOf(typeof(T))).ToList();
}
public List<string> GetControllerNames()
{
List<string> controllerNames = new List<string>();
GetSubClasses<Controller>().ForEach(
type => controllerNames.Add(type.Name));
return controllerNames;
}
}
ASP.Net MVC ya lo está haciendo, (es decir, es la forma en que se descubren los nombres de los controladores) si se puede aprovechar la actual aplicación de MVC probablemente le ahorraría algo de tiempo. –
esa es una pregunta excelente aquí, ¿cómo podría hacer eso? –