title: Public and Internal members in an Internal class?
body: <p>Ok, so this may be a bit of a silly question, and there's certainly the obvious answer, but I was curious if I've missed any subtleties here.</p>
  
  <p>Is there any difference in terms of visibility/usability between a <code>public</code> member declared in an <code>internal</code> class and an <code>internal</code> member declared in an <code>internal</code> class?</p>
  
  <p>i.e. between</p>
  
  <pre><code>internal class Foo
  {
      public void Bar()
      {
      }
  }
  </code></pre>
  
  <p>and</p>
  
  <pre><code>internal class Foo
  {
      internal void Bar()
      {
      }
  }
  </code></pre>
  
  <p>If you declared the method as <code>public</code> and also <code>virtual</code>, and then overrode it in a derived class that is <code>public</code>, the reason for using this modifier is clear. However, is this the only situation... am I missing something else?</p>