Пользовательский атрибут в .NET для выполнения кода до и после оформленного метода? - PullRequest
2 голосов
/ 29 сентября 2010

В идеале я бы хотел найти способ сделать что-то вроде:

[MyCustomAttribute()]
public void MyMethod()
{
    Debug.Write("B");
}

public MyCustomAttribute : Attribute
{
    public void OnBegin()
    {
        Debug.Write("A");   
    }

    public void OnEnd()
    {
        Debug.Write("C");
    }
}

Что бы написать:

ABC

MyMethod () оправдывается.Есть идеи, если это действительно можно сделать?Атрибут ActionFilter похож на эту идею, но он применяется только к запросам MVC.

1 Ответ

3 голосов
/ 29 сентября 2010

Взгляните на PostSharp - он уже почти так делает.

Это постпроцессор - он принимает вашу скомпилированную сборку, ищет атрибуты и внедряет код в декорированные методы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...