I’m just starting to get deeper into what Microsoft did for the Windows 8 preview release at //BUILD. In particular, their work to move the XAML processing into the runtime itself, implementing it as COM based C++ instead of managed .NET code, which has lead to a number of interesting new areas to explore. Something that has come to my attention several times in blogs, has been the automatic generation of efficient interop wrappers for working between .NET code and the unmanaged world.
The Mono guys have just released CXXI, a tool for generating interop classes for C++, and when I was looking at earlier work to make DirectX available from C#, the SharpDx implementor has a number of really interesting blog posts on implementing an automatic converter which he uses to automatically generate this mapping. This includes some great work in order to get good performance across to bridge between the managed and unmanaged worlds.