通过自定义属性生成其他代码

Dav*_*ave 5 .net c# attributes custom-attributes

我仍然是C#的新手,我对属性有疑问.是否可以编写自定义属性,在编译时生成其他代码.例如:

[Forever]
public void MyMethod()
{
    // Code
}
Run Code Online (Sandbox Code Playgroud)

变成:

public void MyMethod()
{
    while (true)
    {
        // Code
    }
}
Run Code Online (Sandbox Code Playgroud)

BFr*_*ree 7

开箱即用,不,这不是可以做到的事情.但是,使用PostSharp,可以实现:

http://www.sharpcrafters.com/aop.net/compiletime-weaving