title: Why not allow Extension method definition in nested class?
body: <p>I would find it convenient/logical to write my exensions for a class in a nested class.  The main reason is I could simply name that class <code>Extensions</code> and let it's outer naming scope give it a unique type name for the compiler.</p>
  
  <p>What is the technical reason to disallow something like:</p>
  
  <pre><code>public class Foo
  {
     ObjectSet&lt;Bar&gt; Bars { get; set; }
  
     public static class Extensions
     {
        public static Bar ByName(this ObjectSet&lt;Bar&gt; bars, string name)
        {
           return bars.FirstOrDefault(c =&gt; c.Name == name);
        }
     }
  }
  </code></pre>
  
  <p>Whereas now I have to create a separate free standing class.</p>
  
  <p><strong>Update/Note:</strong> I wasn't imagining that the fact it was an inner class would affect the scope of availability of the extension method.  I only wanted to address the practical coding issue a separate class with a separate name.</p>