Как получить MethodInfo действия, заданного действия, имени контроллера и области?

У меня есть следующий метод расширения:

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

Как ASP.NET MVC 3 находит метод действия, учитывая область, контроллер, имена действий и метод (GET, POST)?

На данный момент у меня ничего нет ... никаких подсказок о том, как это сделать.

В настоящее время я ищу трассировку стека внутри действия контроллера, чтобы выяснить, как MVC обнаружил его.

Зачем мне эти атрибуты

Мои атрибуты содержат информацию о том, может ли данный пользователь получить к нему доступ или нет ... но в зависимости от того, могут ли они получить к нему доступ, я хочу• чтобы показать или скрыть некоторые HTML-поля, ссылки и другие вещи, которые могут вызвать это действие.

Другое использование

Я подумал об использовании этого для размещения атрибута над действием, которое сообщает классу css ссылки, которая будет отображаться для его вызова ... и некоторые другие подсказки пользовательского интерфейса ... и затем создаю HtmlHelper, который будет отображать эту ссылку , глядя на эти атрибуты.

Не дубликат

Да, некоторые скажут, что это, возможно, дубликат этого вопроса ... у которого нет ответа, который я хочу:

Как я могу получить MethodInfo действия контроллера, которое будет вызвано при запросе?

Тот'Поэтому я уточнил обстоятельства моего вопроса.

Ответы на вопрос(4)

Ваш ответ на вопрос