2016-02-03 6 views
0

Есть ли эквивалент ActionFilter для методов в самом C#?Actionfilter эквивалент для методов

В контроллерах у вас может быть настраиваемый фильтр, который выполняет задачу OnActionExecuted и OnActionExecuting, но я хотел бы сделать подобное в методах внутри класса.

Так что я хотел бы сделать:

[MyMethodFilter] 
public static string Convert(string source) 
{ 
    //DO STUFF 
    //RETURN A STRING 
} 

Интерфейс IActionFilter является частью System.Web.Mvc

ответ

0

Вы ищете аспектно-ориентированного программирования. Есть несколько способов сделать это в C#:

  1. Прокси-класс, полученный из вашего класса. Это легко сделать с DI-контейнером: How to set up an optional method interception with Ninject?

  2. MSIL Переписывание. Гораздо более сложная технология. PostSharp хорошая библиотека, чтобы начать с ним: http://doc.postsharp.net/method-interception

Таким образом, нет готового к употреблению ActionFilter эквивалент. Каким образом вы можете достичь аналогичной функциональности.

Смежные вопросы