title: C++/CLI: Why is there no Managed->Unmanaged transition in this scenario?
body: <p>Let's say I have a C++/CLI assembly compiled with the /clr switch. In that assembly, there are managed classes which call unmanaged (plain C++) classes defined in the same assembly. When you are debugging using Visual Studio, and you look at the call stack, it shows you where Managed->Unmanaged and Unmanaged->Managed transitions happen.</p>
  
  <p>So, what caught my eye: Why is there no Managed/Unmanaged transition when one of the managed classes calls one of the unmanaged classes from the same assembly? Are those unmanaged classes somehow turned into managed classes behind the scenes?</p>