如何在标有属性的目标上记录方法调用?

时间:2010-11-09 12:23:22

标签: c#

是否可以将Loggin行为注入标记的类或/和类似的方法:

Log("Method {0} started",GetMethodNameTroughReflection)
Call method body
Log("Method {0} Finished",GetMethodNameTroughReflection)

我想创建自己的Attribute类,它将实现方法调用的记录行为。

我想描述app.config文件中的登录行为,可以通过config中的设置禁用它。

怎么做对了?也许为这样的任务创建了解决方案?

2 个答案:

答案 0 :(得分:3)

这可以使用面向方面编程(AOP)来完成。看看 PostSharp 。请在此处查看示例以进行跟踪:

  

<强> Non-Invasive Tracing & Logging

答案 1 :(得分:0)

搜索“面向方面的编程” - 记录是一个典型的例子。例如this link使用PostSharp

完成它