我希望能够使用自定义 Trace
属性修饰任何方法,并且应该在编译时将一些代码注入(inject)到该方法中。
例如:
[Trace]
public void TracedMethod(string param1)
{
//method body
}
应该变成:
public void TracedMethod(string param1)
{
Log.Trace("TracedMethod", "param1", param1);
//method body
}
在这种情况下,注入(inject)的代码取决于方法名和方法参数,因此应该可以推断出这些信息。
有谁知道如何做到这一点?
最佳答案
要在 C# 中进行面向方面的编程,您可以使用 PostSharp .
(The homepage 甚至显示了一个 Trace
示例,就像您要求的那样!)
关于c# - 如何在编译时注入(inject) C# 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1352513/