title: 'using' block compiler generated code not visible in dotPeek or ILSpy
body: <p>I am interested to look at the compiler generated code for the <code>using</code> code block which generates <code>try-finally</code>, but I do not see both <code>dotPeek</code> and <code>ILSpy</code> showing this detail. I used <code>ildasm.exe</code> to look at this code block and I see that it has the <code>try-finally</code> block in it but cannot understand it well...so wanted to see if these 2 tools would help.</p>
  
  <p>Any ideas?</p>
  
  <p><strong>UPDATED:</strong>
  So I recently used a struct which implemented IDisposable in my project and was worried if the <code>using</code> code block and struct with IDisposable would cause boxing...but I later found the following article which mentioned that the compiler optimizes for this situation and does not box when trying to call Dispose. </p>
  
  <p><a href="http://ericlippert.com/2011/03/14/to-box-or-not-to-box/" rel="nofollow noreferrer">http://ericlippert.com/2011/03/14/to-box-or-not-to-box/</a></p>
  
  <p>So I was curious to see what kind of code does the compiler generate for my using block.</p>
  
  <p>A simple example repro:
  <a href="https://i.stack.imgur.com/gU0pf.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/gU0pf.png" alt="enter image description here"></a></p>