title: Exactly how large is the .NET (3.5) Framework Class Library?
body: <p>I've regularly read that the framework is just too large for one developer to have experience with every part of it.  Having some actual numbers would certainly help put things in perspective.</p>
  
  <p>MSDN seems to list them all but there are no actual numbers (from what I could see) and spending hours counting them is not my idea of productive time.</p>
  
  <ul>
  <li>Number of Namespaces</li>
  <li>Number of Classes</li>
  <li>Number of Structs</li>
  <li>Number of Interfaces</li>
  </ul>
  
  <p>I realize there are also delegates, enums, events, etc, but the above types are of most interest.</p>
  
  <p>Also, the number of types in the Base Class Library (BCL) as well as the size of the overall Framework Class Library (FCL) would be interesting.</p>
  
  <p>This information would be useful in 2 ways:</p>
  
  <p>Firstly, to get a handle on how much of the overall framework you have actually worked with and how much you still have to learn.</p>
  
  <p>Secondly, many programmers from other platforms (and non-technical people) are often surprised that a programmer can spend most of their time within the ".NET Framework".  Having some numbers would certainly help explain why this is not an indication of narrow skills/experience.</p>
  
  <p>[Update]</p>
  
  <p>Using Andrew's code (on my .NET 3.5 SP1 system) I get:</p>
  
  <pre>Classes: 12688
  Value types: 4438
  Interfaces: 1296</pre>