C # - Пользовательские атрибуты - PullRequest
1 голос
/ 12 мая 2009

Я хочу регистрировать все вызовы всех методов класса с определенным атрибутом. Как бы я это сделал?

Это то, что я имею до сих пор:

class ExecutionLogAttribute : Attribute
{
}

public class Human
{
    private Int32 age;

    [ExecutionLog]
    public void HaveBirthday()
    {
        age++;
    }
}

Какой теперь лучший способ записывать все звонки на HaveBirthday?

1 Ответ

9 голосов
/ 12 мая 2009

Простой ответ: PostSharp . Более сложный: Spring.NET или пользовательская реализация AOP (это то, что вам нужно: Аспектно-ориентированное программирование) с использованием ContextBoundObject .

...