¿Cómo obtengo el MethodInfo de una acción, una acción dada, el controlador y los nombres de área?

Lo que tengo es el siguiente método de extensión:

public MyCustomAttribute[] GetActionAttributes(
    this Controller @this,
    string action,
    string controller,
    string area,
    string method)
{
}

¿Cómo encuentra ASP.NET MVC 3 el método de acción, dada el área, el controlador, los nombres de acción y el método (GET, POST)?

Hasta este momento no tengo nada ... no hay pistas sobre cómo hacer esto.

Actualmente estoy buscando el seguimiento de la pila dentro de una acción del controlador, para descubrir cómo MVC lo descubrió.

¿Por qué necesito estos atributos?

Mis atributos contienen información sobre si un usuario determinado puede o no acceder a él ... pero dependiendo de si pueden o no acceder a él, no quiero mostrar u ocultar algunos campos html, enlaces y otras cosas que podrían llamar esa acción. .

Otros usos

Pensé en usar esto para colocar un atributo sobre una acción, que le dice a la clase css del enlace que se procesará para llamarlo ... y algunas otras sugerencias de UI ... y luego construir un HtmlHelper que renderizará ese enlace , mirando estos atributos.

No es un duplicado

Sí, algunos dirán que posiblemente sea un duplicado de esta pregunta ... que no tiene la respuesta que quiero:

¿Cómo puedo obtener el MethodInfo de la acción del controlador que se llamará dada una solicitud?

Es por eso que he especificado las circunstancias de mi pregunta.

Respuestas a la pregunta(4)

Su respuesta a la pregunta