Из пользовательского расширения HtmlHelper я хотел бы получить MethodInfo
для действия.
Я знаю, что могу получить Тип контроллера и строковое имя действия из:
public static void MyHelper(this HtmlHelper helper)
{
var controller = helper.ViewContext.Controller;
var actionName = ViewContext.Controller.ValueProvider.GetValue("action").RawValue;
}
Но я действительно хочу MethodInfo
, потому что я хочу извлечь пользовательский Attribute
из метода действия.Я не могу просто вызвать рефлексию .GetMethod(actionName);
, потому что обычно существует более 1 с одним и тем же именем (два действия с одинаковым именем, одно для http GET и одно для POST).
На данный моментЯ думаю, что мне, возможно, придется вручную получить все методы с именем действия и просмотреть всю информацию в ViewContext.Controller.ValueProvider
, чтобы увидеть, какой метод имеет параметры, соответствующие значениям в поставщике, но я надеюсь, что MethodInfo уже где-то доступен...