Я відносно новачок у 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()
{
}
}
}
Я був би радий почути від вас на цю тему - я маю рацію?