MSDN.WhiteKnight - Stack Overflow answers
Ответ на "Публичные вложенные классы - плохая практика?"
Answer 1024809
Ну почему же, используется, но только для тех типов, которые не особо фигурируют напрямую в коде. Например,
List<T>.Enumerator
, который используется только неявно кодом, генерируемым компилятором для foreach. Для обычных типов их использовать действительно не рекомендуется, на это даже есть специальное предупреждение анализаторов CA1034. Причина банальна - это неудобно; при каждом использовании такого типа снаружи нужно приписывать имя содержащего типа, сократить используя using нельзя. Ну и с точки зрения архитектуры: вложенность это не просто область видимости, она позволяет вложенному классу работать с private-членами содержащего. Если это не нужно по логике взаимодействия этих классов, лучше не связываться с таким нарушением инкапсуляции.
Content is retrieved from StackExchange API.
Auto-generated by ruso-archive tools.