You could always call your own code from managed code. As a rule, any .net application that at some point interacts with windows transfers control to its own components.
Historically, to manually call our own code, we used PInvoke (Inv Invocation), which allows managed code to call unmanaged functions implemented in a DLL.
What's new right now is Windows Runtime, mainly based on the COM API. You can read about it here - http://en.wikipedia.org/wiki/Windows_Runtime - just make the process simpler / less eavesdropping.
EDIT - to be clear, the presentation was not that C # could be compiled into native code. it is still impossible. they touted winrt as a new (cleaner) mechanism for including native code calls in C #.
source share