C# - 自定义属性

ale*_*exn 1 c# attributes .net-3.5

我想记录具有特定属性的所有类方法的所有调用.我该怎么办?

这是我到目前为止:

class ExecutionLogAttribute : Attribute
{
}

public class Human
{
    private Int32 age;

    [ExecutionLog]
    public void HaveBirthday()
    {
        age++;
    }
}
Run Code Online (Sandbox Code Playgroud)

什么是记录所有呼叫HaveBirthday的最佳方式?

Ant*_*lev 9

简单回答:PostSharp.更复杂的一个:使用ContextBoundObject的Spring.NET或自定义AOP(这是您需要的:面向方面编程)实现.