I’m a bit late picking up on this, but if you are interested in either code generation, AOP, or both, check out the spec for G#. Ernest Booth has come up with a very interesting spec for a new language that extends C# with some built in constructs for doing code generation. Since these generators are extensible, etc. this provides not only some great opportunities for code gen (which I do a lot of at work) but for what essentially becomes compile time AOP. I’ve looked a couple of times at the possibilities for doing AOP in .NET, and most of the options haven’t really been satisfactory (mostly involving remoting contexts). This would provide most of the benefits of AOP, but happen at compile time in a happy, type-safe kinda way.
I’ll be very interested to see if this spec turns into actual code.