Я относительно новичок в С#, и каждый раз, когда я начинаю работать над проектом С# (я работал только над почти зрелыми проектами на С#), мне интересно, почему нет внутренних классов?
Может быть, я не понимаю их цели. Для меня внутренние классы - по крайней мере, частные внутренние классы - во многом похожи на "внутренние процедуры" в Pascal/Modula-2/Ada: они позволяют разбивать основной класс на более мелкие части, чтобы облегчить понимание.
Пример: вот что видят большую часть времени:
public class ClassA
{
   public MethodA()
   {
      <some code>
      myObjectClassB.DoSomething(); // ClassB is only used by ClassA
      <some code>
   }
}
public class ClassB
{
   public DoSomething()
   {
   }
}
Так как ClassB будет использоваться (хотя бы некоторое время) только классом A, я предполагаю, что этот код будет лучше выражен следующим образом:
   public class ClassA
   {
      public MethodA()
      {
         <some code>
         myObjectClassB.DoSomething(); // Class B is only usable by ClassA
         <some code>
      }
      private class ClassB
      {
         public DoSomething()
         {
         }
      }
   }
Я был бы рад услышать от вас по этому вопросу - я прав?
