title: C# disassembly default namespace module class
body: <p>I'm sure this is simple but I can't find an explanation.</p>
  
  <p>When disassembling .net with ILSpy or ILDASM there is a class named <code>&lt;module&gt;</code> in the default namespace.</p>
  
  <p>Why and how the compiler puts it there?
  I have this:</p>
  
  <pre><code>using abc;
  using System;
  
  internal class &lt;Module&gt;
  {
      static &lt;Module&gt;()
      {
          AssemblyLoader.Attach();
      }
  }
  internal interface ISomething
  {
  }
  </code></pre>
  
  <p>This is not the standart declaration. If I'm recreating C# project how would I add that?
  Also the way I see it it is in a static constructor and will get executed before the entrypoint, so if I put <code>AssemblyLoader.Attach();</code> in my Main() or in a static constructor of <code>Program</code> (I'm using console app template) this should do the trick, right? </p>