Я относительно новичок в С#, и каждый раз, когда я начинаю работать над проектом С# (я работал только над почти зрелыми проектами на С#), мне интересно, почему нет внутренних классов?
Может быть, я не понимаю их цели. Для меня внутренние классы - по крайней мере, частные внутренние классы - во многом похожи на "внутренние процедуры" в 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()
{
}
}
}
Я был бы рад услышать от вас по этому вопросу - я прав?