Я относительно новичок в C #, и каждый раз, когда я начинаю работать над проектом C # (я работал только над почти зрелыми проектами в C #), мне интересно, почему нет внутренних классов?
Может быть, я не понимаю их цели. Для меня внутренние классы - по крайней мере, частные внутренние классы - очень похожи на «внутренние процедуры» в 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 будет использоваться (хотя бы некоторое время) только ClassA, я предполагаю, что этот код будет лучше выражен следующим образом:
public class ClassA
{
public MethodA()
{
<some code>
myObjectClassB.DoSomething(); // Class B is only usable by ClassA
<some code>
}
private class ClassB
{
public DoSomething()
{
}
}
}
Я был бы рад услышать от вас эту тему - я прав?